열거형 (Enumerations) 관련된 값으로 이루어진 그룹을 공통의 형으로 선언하는 것. 열거형 문법 (Enumeration Syntax) enum 키워드를 사용해 열거형을 정의한다. 스위프트의 다른 형과 마찬가지로 형의 이름은 대문자로 시작해야 한다. enum SomeEnumeration { // enumeration definition goes here } enum Food { case krFood case jpFood case cnFood } ✔️ 위의 예제와 같이 스위프트에서 열거형은 생성될 때 각 case 별로 기본 값을 할당하지 않는다. enum Food { case krFood, jpFood, cnFood } ✔️ 위의 예제와 같이 여러 case를 콤마(,)로 구분해서 한줄에 적을 수 있..
클로저 (Closures) 클로저 : 어떤 상수나 변수의 참조를 캡쳐해 저장할 수 있다. ➡️ 익명의 함수 전역 함수 이름이 있고 어떤 값도 캡쳐하지 않는 클로저 중첩 함수 이름이 있고 관련한 함수로 부터 값을 캡쳐 할 수 있는 클로저 클로저 표현 경량화 된 문법으로 쓰여지고 관련된 문맥으로부터 값을 캡쳐할 수 있는 이름이 없는 클로저 ⚠️ 클로저라고 하면 보통 익명의 함수를 의미하는데, 사실 func 키워드를 통해 이름을 붙여주는 함수들도 모두 클로저임. func nameFunc() { print("nameFunc") } // 이름이 있는 함수 = Named Closure let unnamedFunc = { print("unnamedFunc") } // 이름이 없는 함수 = Unnamed Closure..
정의와 호출 (Defining and Calling Functions) 함수를 선언할 때는 가장 앞에 func 키워드를 붙히고 (person: String) 파라미터 형 그리고 -> String 형태로 반환형을 정의한다. func 함수명(파라미터명: 파라미터타입) -> 반환타입 { 실행 구문 return 반환값 } func helloFunc(param: String) -> String { let returnValue = "Hello, " + param + "!" return returnValue } ✔️ 위의 예제와 같이 함수에 인자 값을 넣어 호출할 수 있다. func helloFunc(param: String) -> String { //let returnValue = "Hello, " + param ..
for-in문 (for-in loop) for-in문은 배열, 숫자, 문자열을 순서대로 순회하기 위해 사용한다. let names = ["Yeo", "Lee", "Choi"] for name in names { print("Hello, \(names)!") } // Hello, Yeo! // Hello, Lee! // Hello, Choi! let setNames: Set = ["Yeo", "Kim", "Kang"] for name in setNames { print(name) } // Kim // Kang // Yeo let dictName: [String: Int] = ["Yeo": 1, "Lee": 2] for (key, value) in dictName { print(key, value) } //..