Language/Swift

Language/Swift

Swift - 함수 고급

1. 파라미터 기본값 파라미터에 기본으로 전달될 값을 미리 지정해둘 수 있다. 여기서 기본값을 지정할 파라미터는 파라미터 목록 중 뒤쪽에 위치하는 것이 좋다고 한다. func 함수 이름(파라미터 이름: 파라미터 타입, 파라미터 이름: 파라미터 타입 = 파라미터 기본값) -> 리턴 타입 { //함수 구현 return 리턴값 } //게다가 함수 호출 시 기본값이 있는 파라미터는 생략이 가능하다 2. 전달인자 레이블(Argument Label) 사용자 입장에서 함수 호출 시 파라미터 역할을 더 명확히 알 수 있도록 할 때 사용한다. 전달인자 레이블을 변경해 동일한 이름의 함수를 중복으로 생성 가능하다. 이 부분이 제대로 이해가 안됐는데 밑에 코드로 다시 적어보겠다. func 함수 이름(전달인자 레이블 파라미터..

Language/Swift

Swift - 함수 기본

Swift에서의 함수는 Kotlin과 Java를 섞어놓은 듯한 모습이라고 생각한다. 파라미터를 나열할 때, 이름 : 자료형 방식으로 작성하는 부분이 있기도 하고, 리턴이 없는 함수는 Void라는 키워드가 들어가기도 한다. 파라미터가 없는 함수는 JavaScript 분위기가 나기도 한다. 1. 함수 선언의 기본 형태 func 함수이름 (파라미터 이름: 파라미터 타입) -> 리턴타입 { //함수 구현 return 리턴 값 } 2. 반환 값이 없는 함수 func 함수이름(파라미터 이름: 파라미터 타입) -> Void { //함수 구현 return //아예 생략이 가능하다 } func 함수이름(파라미터 이름: 파라미터 타입) { //함수 구현 } //Void도 생략이 가능하다 3. 매개변수가 없는 함수 func..

Language/Swift

Swift - 컬렉션 타입(Collection Type) - Array, Dictionary, Set

개인적으로 여러 언어를 접하면서 가장 표현법이 다양해서 헷갈리는 친구들이다. 1. Array (배열) Swift에서 배열을 선언하는 문장을 본 첫 느낌은 Kotlin에서의 ArrayList같다는 느낌을 가장 먼저 받았다. 그런데 여기에 배열을 한 스푼추가한... 그런 느낌? 를 쓰다가도 []를 쓰고 뭔가 어색했다. var integers: Array = Array() //var integers: Array = [Int]() //var integers: Array = [] //var integers: [Int] = Array() //var integers: [Int] = [Int]() //var integers: [Int] = [] //var integers = [Int]() //위의 주석들이 Array를..

Language/Swift

Swift - Any, AnyObject, nil

1. Any Swift의 모든 타입을 지칭하는 키워드이다. var a: Any = 10 a = "어떤 타입이든 가능" a = 12.34 let b: Double = a //error //Any 타입에 Double형을 할당해두었더라도 Any는 Double 타입이 아니기 때문에 할당할 수 없다. 2. AnyObject 모든 클래스 타입을 지칭하는 프로토콜이다. class Student {} var firstStudent: AnyObject = Student() firstStudent = 123 //error //AnyObject는 어떤 클래스의 인스턴스라도 할당 가능하지만 값은 할당할 수 없다. 3. nil 없음을 의미하는 키워드로 다른 언어에서의 Null과 유사하다. var abc: Any = 100 va..

Language/Swift

Swift - 기본 데이터 타입

기본 데이터 타입의 종류 Bool Int, UInt Float, Double Character, String 1. Bool true, false만을 값으로 가지는 타입이나 C언어나 다른 언어에서 사용했던 것처럼 1을 true, 0을 false로 생각하고 사용하면 컴파일 에러가 발생한다. var boolA = true boolA = 1 //error 2. Int, UInt Int : 정수 타입. 현재는 기본적으로 64비트 정수형이다. UInt : 양의 정수 타입. 현재는 기본적으로 64비트 양의 정수형이다. var intA = -10 intA = 10.1 //error var uIntB: UInt = 1 uIntB = -1 //error Int형에는 당연히 실수형을 할당할 수 없고, UInt형에는 당연히 ..

Language/Swift

Swift - 변수, 상수

1. 변수 먼저 변수는 var 키워드를 사용해 선언한다. var a: Int = 0 var a1 = 0 var varStr = "값 변경이 가능" varStr = "Hello" var name : String name = "Kim" ㄱ. 변수 이름과 타입, 그리고 값까지 모두 작성해 선언할 수 있다. ㄴ. 값의 타입이 명확하다면 타입을 생략하고 선언할 수 있다. ㄷ. 추후 다른 값을 할당할 수 있다. ㄹ. 변수를 선언해두고 나중에 값을 할당할 수도 있다. 2. 상수 먼저, 상수는 let 키워드를 사용해 선언한다. let b: Int = 1 let b1 = 1 let letStr: String = "값 변경이 불가" letStr = "Hello" //error let nickName: String nick..

Language/Swift

Swift - 명명법, 콘솔 로그, 문자열 보간법

오늘은 야곰님의 Swift 기초 강의를 부스트코스에서 수강하고 정리해보는 글을 써보려한다. 1. 명명법 다른 언어를 배울 땐 네이밍 컨벤션(Naming Convention) 이런 말도 들었던 것 같은데 정확하진 않지만, 함수, 메소드, 변수, 상수(function, method, variable, constant)에는 Camel Case로 이름을 작성하고 타입(Type : class, struct, enum, extension ...)에는 Upper Camel Case로 이름을 작성한다. 그런데 사실 나는 Upper Camel Case라는 용어보단 Pascal Case가 더 익숙하다. Java와 Kotlin을 배울 때 가르쳐주신 교수님이 Pascal Case라고 알려주셨기 때문이다. 구글에 검색해보니 둘..

BonusTrack02.dev
'Language/Swift' 카테고리의 글 목록 (2 Page)