값이 없는 경우에 Optionals을 사용한다. Swift의 옵셔널은 어떠한 타입에 대해서 값이 없음 (nil)을 나타낼 수 있다. 그래서
let possibleNumber = "123"
let convertedNumber = Int(possibleNumber)
// convertedNumber is inferred to be of type "Int?", or "optional Int"
아래 같은 경우에 Int
가 아닌 Int?
의 옵셔널 형태가 된다. 여기서 Int?
의 의미는 Int
이거나 아무런 값이 없는 것을 뜻한다. 옵셔널 변수에 nil
이 있어 값이 없는 상태를 나타낼 수 있다. Swift에서의 nil
은 특정 타입의 값이 없음을 나타낸다. 옵셔널에 값이 포함되어 있다고 확신하면 옵셔널 끝에 느낌표(!
)를 추가하여 값에 접근 할 수 있다. 느낌표의 의미는 이 옵셔널은 확실히 값을 가지고 있으니 사용해도 괜찮습니다. 라는 의미이다.
옵셔널 바인딩(Optional Binding)은 옵셔널이 값이 포함하고 있는지 확인하고 값이 있는 경우 해당 값을 임시 상수 또는 변수로 사용할 수 있게 해준다.
if let actualNumber = Int(possibleNumber) {
print("The string \"\(possibleNumber)\" has an integer value of \(actualNumber)")
} else {
print("The string \"\(possibleNumber)\" could not be converted to an integer")
}
// Prints "The string "123" has an integer value of 123"
'Swift > Swift 기초 문법' 카테고리의 다른 글
[기초] guard let (0) | 2023.08.14 |
---|---|
[기초] 튜플 (Tuples) (0) | 2023.04.05 |
[기초] 클로저 (0) | 2023.03.26 |
[기초] 제네릭 (0) | 2023.03.26 |
[기초] 프로퍼티 옵저버, 함수 매개변수 이름 (0) | 2023.03.26 |