Swift/Swift 기초 문법

[기초] 옵셔널 (Optionals)

hyunjuntyler 2023. 4. 5. 17:02

값이 없는 경우에 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