Open Source
- 오픈 소스 소프트웨어가 반드시 무료로 제공되는 실행 가능한 소프트웨어라는 의미는 아님.
- 그러나 소스코드는 무료이다.
Free Software
- 리차드 스탈만이라는 분이 시작.
- 소스코드를 변경하고 변경한 소프트웨어를 공유하려면 원래 프로젝트에 해당 변경 사항을 다시 공유해야만 한다.
- 프리 소프트웨어를 주장.
반복 제어 흐름
- For-in 반복문
- while반복문
- Repeat-while
- do-while문을 대체한것이다.
조건부 흐름 제어
- if구문 안의 실행될 코드가 한 줄이라고 해도, 괄호{}가 필수다.
- guard구문
- 사이트 가입할 때, 이름 몇글자 이상 쓰거나, 암호, 암호확인 ,전화번호 이런거 쭉 있는거 보면, 데이터들을 갖고 일처리를 함. 이때 여러가지 조건들이 맞는지?
- 애플에서 이런 걸 보고, if문만 쓰면 너무 복잡하니까, 좀 깔끔하게 만들자!
- guard구문은 불리언 표현식을 포함하며, true일 때만 guard구문 바깥에 위치한 코드가 실행된다.
- guard구문은 불리언 표현식이 false일 때 수행될 else절을 반드시 포함해야 한다.
- 기본적으로 guard구문은 특정 조건을 만족하지 않은 경우에 현재의 함수 또는 반복문에서 빠져나올 수 있게 해준다
스위치 구문
- Switch 구문의 표현식은 값을 가지거나 값을 반환하는 표현식이다. 이 값은 switch구문이 동작하게 하는 값이다.
- 그 값과 일치할 수 있는 값을 case 구문으로 제공한다. 각각의 일치하는 값은 표현식의 값과 동일한 타입이어야 한다.
- Default 절을 switch의 case에 해당하는 부분이 없을 때 수행하는 부분이다.
- Switch 옆에는 “표현식”이 들어간다.
- Case 구문에 범위 매칭을 구현할 수도 있다.
- Switch-where 구문 사용하기
- where구문은 case구문에 부가적인 조건을 추가하기 위해서 사용될 수 있다.
- Switch-fallthrought구문 사용하기
- 다른 언어들은 case마다 break를 안쓰면, 다른 case도 조사하게 된다.
- 근데 swift는 반대이다. fallthrought를 써야 밑에도 조사하게 된다.