Swift는 Bool이라 불리는 기본 불리언 타입이 있다.
Bool 값은 오직 참 또는 거짓 값만 가지므로 논리적으로 참조된다.
Swift는 2개의 부울 상수 값인 true와 false를 제공한다.
let orangesAreOrange = true
let turnipsAreDelicious = false
orangesAreOrange와 turnipsAreDelicious의 타입은 부울 리터럴 값으로 초기화되어 Bool로 유추되었다.
위의 Int와 Double에서와 같이 상수 또는 변수를 초기화 시 true 또는 false로 선언하면 상수 또는 변수를 Bool 타입으로 선언할 필요가 없다.
타입 추론은 Swift 코드가 이미 알고 있는 타입의 다른 값으로 상수 또는 변수를 초기화 시에 더 간결하고 읽기 쉽다.
부울 값은 if 구문과 같은 조건문으로 동작할 때 특히 유용하다.
if turnipsAreDelicious {
print("Mmm, tasty turnips!")
} else {
print("Eww, turnips are horrible.")
}
// Prints "Eww, turnips are horrible."
Swift의 타입 세이프티는 부울이 아닌 값이 Bool로 대체되는 것을 방지한다.
아래 예제는 컴파일 에러를 발생시킨다.
let i = 1
if i {
// this example will not compile, and will report an error
}
그러나 아래와 같은 에제는 정상 동작한다.
let i = 1
if i == 1 {
// this example will compile successfully
}
i == 1 비교 결과는 Bool 탈입이므로 이 두번째 예제는 타입 검사를 정상적으로 수행할 수 있다.
Swift의 타입 세이프티에 대한 다른 예제와 마찬가지로 이 방법은 실수로 인한 오류를 피하고 코드의 특정 섹션의 의도를 항상 명확하게 한다.