- 연산자는 단항, 이항, 삼항, 전위, 중위, 후위 연산자로 구분된다.
- A = B : 할당 연산자이며, A에 B라는 값을 '할당' 해준다.
- A + B, - *, /, % : 산술연산자이며 수학 연산을 위한 기능을 제공한다.
- A > B, <, ==, !=, ===(참조가 같다) : 비교 연산자이며, 참 거짓 여부를 반환한다.
- A ? B : C : 삼항 조건 연산자이며 형태가 이거 하나이다. A가 참인 경우 B, 아닌 경우 C를 리턴한다.
- A...B, A..<B, A..., ...A : 범위 연산자이며 값의 범위를 나타낸다.
- A ?? B : nil병합 연산자이며 A가 nil인 경우 B를 반환한다.
- 조건문에는 if 와 switch, guard 구문이 존재한다.
- 스위프트의 if 구문은 조건의 값이 꼭 Bool타입 이어야 한다.
- if, else if, else를 통해서 흐름 제어 구문을 조건에 따라 분류할 수 있다.
- if 뒤에 따라오는 조건 수식을 소괄호로 감싸는 것은 선택사항이다.
- switch 에서 break을 사용하는 것은 선택사항이며, 사용 시 case구문 수행 후 종료한다.
- fallthrough를 사용하게 되면 하단의 case를 이어서 수행한다.
- case에 들어갈 비교값은 입력값과 데이터 타입이 같아야 한다.
- 모든 케이스를 반드시 커버해야 하며, 기타 나머지 케이스를 명시할 때는 default 키워드를 사용한다. 모든 케이스에 대한 경우를 서술한 경우는 default를 명시하지 않아도 된다.
- where절을 사용해서 조건을 확장하는 것이 가능하다.
- case xxx: 다음에는 반드시 실행이 가능한 코드가 위치해야 한다.
- switch구문 입력값으로 튜플도 사용이 가능하다.
- 와일드카드 패턴을 통해서 표현이 가능하다 case _: // 다음의 표현은 default 와 같은 케이스 동작이다.
- for-in 반복구문을 통해서 데이터 시퀀스를 다룰 수 있다.
- while 반복구문도 사용 가능하며, while의 조건문이 false일 때 루프를 이탈하고 다음 코드로 넘어간다.
- repeat-while반복문은 repeat 클로저 부분을 실행하고 while반복문으로 넘어가며, 반복 전 초기 코드를 실행해야 할 때 사용한다.
- numberLoop : for num in numbers {} 다음과 같이 numberLoop라는 루프 고유 명칭을 명시해 줄 수 있다.