swift에서 참, 거짓을 구분하기 위해서는 어떤 데이터 형을 사용할까요? Boolean 타입으로 Bool을 사용합니다. 참은 true, 거짓은 false로 값을 표현합니다. 토글 버튼처럼 켜져 있는 상태 꺼져 있는 상태처럼 on/off라고도 생각해보면 조금 쉽게 이해할 수 있을 거 같습니다.
Bool Type
let yes = true
let no = false
option키를 누르고 yes 혹은 no를 눌러보면 이렇게 Bool 타입을 볼 수 있습니다.
let isOneGreaterThanTwo = 1 > 2
if isOneGreaterThanTwo {
print("---> 참")
} else {
print("---> 거짓")
}
isOneGreaterThanTwo를 보면 1은 2보다 크다라고 되어있습니다. 해당 명제가 사실이 아니기 때문에 거짓이 되겠죠? 그러면 false값이 저장되게 됩니다. if - else 는 조건문으로 코드의 흐름을 제어해주는 키워드입니다.
let isOneGreaterThanTwo = 1 > 2
let isFiveGreaterThanOne = 5 > 1
코드를 보면 1은 2보다 크다는 거짓이므로 false, 5는 1보다 크므로 true 값이 return 되어 값으로 사용된 것을 볼 수 있습니다.
삼항연산자
swift에도 삼항연산자가 있습니다. 이것은 if - else 조건문을 한 줄에 작성한 것이라고 생각하면 됩니다.
let name1 = "minmong"
let name2 = "donghyun"
let isMinmong = name1 == "minmong"
let greetingMessage: String = isMinmong ? "Hello Minmong" : "Who are you?"
코드를 보게 되면 name1에는 "minmong", name2에는 "donghyun"이 담겨 있습니다. 그리고 isMinmong의 경우 name1은 "minmong"이 맞기 때문에 앞에서 배운 Bool 값으로 true가 담기게 됩니다. 마지막 줄에서 삼항 연산자를 볼 수 있는데요.
(조건)? 참 일 경우 : 거짓 일경우
if - else 구문처럼 '?' 앞에 조건문이 들어가고 이 조건이 참일 경우에 ':' 앞에 있는 코드가 반환, 거짓 일 경우에는 ':' 뒤에 있는 코드가 반환 되게 됩니다. 위의 사진에서 보면 greetingMessage에는 참인 경우기 때문에 "Hello Minmong"이 들어간 것을 볼 수 있습니다.