목록분류 전체보기 (179)
study record
반복문 for-in 구문 for 임시상수 in 시퀀스 아이템 { 실행 코드 } for i in 0...2 { print(i) } // 0 // 1 // 2 // continue 키워드를 사용하면 바로 다음 시퀀스로 건너뛴다. // 시퀀스에 해당하는 값이 필요 없다면 와일드카드 식별자(_)를 사용하면 된다. var result: Int = 1 for _ in 1..3 { result *= 10 } 구문 이름표 반복문을 제어하는 키워드(break, continue 등)가 어떤 범위에 적용되어야 하는지 애매할 때, 반복문 앞에 이름과 함께 콜론을 붙여 구문의 이름을 지정해주는 구문 이름표를 사용한다. var numbers: [Int] = [3,2,5,55] numbersLoop: for num in numbe..
switch 구문 switch 구문은 소괄호()를 생략할 수 있다. break 키워드는 선택사항이다. 즉, case내부의 코드를 모두 실행하면 switch 구문이 종료된다는 것이다. 따라서 break를 쓰지 않고 case를 연속 실행하던 트릭을 더 이상 사용하지 못한다. 스위프트에서 switch 구문의 case를 연속 실행하려면 fallthrough 키워드를 사용한다. switch 구문의 조건에서 비교될 값이 명확히 한정적인 값(열거형 값 등)이 아닌 경우에는 default를 꼭 작성해야 한다. 또한 각 case에는 범위 연산자나, where 절을 사용하여 조건을 확장할 수 있다. 여러 개의 항목을 한 번에 case로 지정해주는 것도 가능하다. case에 해당할 때 실행될 코드가 비어있으면 컴파일 오류가..
기타 연산자 (스위프트에 있는 연산자) nil 병합 연산자 A ?? B → A가 nil이 아니면 A를 반환하고, A가 nil이면 B를 반환한다. 부호 변경 연산자 -A → A의 부호를 변경한다. 옵셔널 강제 추출 연산자 O! → O(옵셔널 개체)의 값을 강제로 추출한다. 옵셔널 연산자 V? → V(옵셔널 값)를 안전하게 추출하거나, V(데이터 타입)가 옵셔널임을 표현한다. let valueInt: Int = someOptionalInt != nil ? someOptionalInt! : 0 //훨씬 간단하고 안전하게 옵셔널을 다룰 수 있다. let valueInt: Int = someOptionalInt ?? 0 *참고로 옵셔널 강제 추출연산자 사용은 지양하는 것이 좋다.