if let 구문은 옵셔널 바인딩을 사용하여 옵셔널 값을 해제하고 조건문 내에서 임시 상수에 할당합니다. 만약 옵셔널이 비어있다면 조건문이 실행되지 않습니다.
if let unwrappedValue = optionalValue {
// optionalValue가 비어 있지 않을 때 실행되는 코드
// unwrappedValue는 optionalValue의 값
} else {
// optionalValue가 비어 있을 때 실행되는 코드
}
var name: String? = "John"
if let unwrappedName = name {
print("이름은 \(unwrappedName)입니다.")
} else {
print("이름이 없습니다.")
}
guard let 구문은 주로 함수나 메서드 내에서 사용되며, 옵셔널 바인딩을 사용하여 옵셔널 값을 해제하고 조건을 만족하지 않으면 빠르게 현재 스코프에서 종료합니다. 이것은 종종 조건이 충족되지 않을 때 조기에 함수를 종료하려는 경우에 유용합니다.
guadrd let unwrappedValue = optionalValue {
// optionalValue가 비어 있지 않을 때 실행되는 코드
// unwrappedValue는 optionalValue의 값
} else {
// optionalValue가 비어 있을 때 실행되는 코드
}
var name: String? = "John"
guadrd let unwrappedName = name {
print("이름은 \(unwrappedName)입니다.")
} else {
print("이름이 없습니다.")
}