조건문을 검사할 때는 if
, switch
를 사용합니다.
var age = 19 var student = "" if age >=8 && age < 14 { student = "초등학생" } else if age < 17 { student = "중학생 } else if age < 20 { student = "고등학생" } else { student = "기타" } print(student) //고등학생
if
문의 조건절에는 값이 정확하게 참 혹은 거짓으로 나오는 bool
타입을 사용해야 합니다.
Swift는 타입 검사를 굉장히 엄격하게 하기 때문에, 다른 언어에서 사용 가능한 아래와 같은 코드를 사용하지 못합니다.
var number = 0 if !number { // 컴파일 에러!! ... }
Unary Operator '!' cannot be applied to an operand of type 'Int'
대신, 이렇게 써야합니다.
if number == 0 { ... }
빈 문자열이나 배열등을 검사할 때에도 명확하게 길이가 0인지를 검사해야 합니다.
var languaes = ["Swift", "Java", "Python"] if languaes.isEmpty { print("비어있습니다.") } else { print("내용이 있습니다.") }
[ Terminal ]
내용이 있습니다.
Swift의 switch
구문은 패턴 매칭이 가능하여 다른 언어들보다 조금 특별합니다.
swift age { case 8..<14: studnet = "초등학생" case 14..<17: student = "중학생" case 17..<20 student = "고등학생" default: student = "기타" }
8..<14
와 같이 범위 안에 age
가 포함되었는지의 여부를 검사할 수 있습니다.
배열과 딕셔너리를 차례로 순환할 때 아래와 같이 작성합니다.
for language in languages { print("저는 \(language) 언어를 다룰 수 있습니다.") } for (country, capital) int capitals { print("\(country)의 수도는 \(capital)입니다.") }
단순한 반복문을 만들고 싶다면 범위를 이용합니다.
for i int 0..<100 { print(i) }
만약 i
를 사용하지 않는 단순한 반복을 하고 싶다면, i
대신 _
를 사용해서 무시할 수 있습니다.
for _ in 0..<10 { print("Hello") }
_
키워드는 어디서나 변수 이름 대신 사용 가능하니 알아두면 유용하게 사용할 수 있습니다.
var i = 0 while i < 100 { i += 1 }