programmer '프로그래머'
옵셔널 사용한 예시
김동준.
2024. 8. 30. 22:06
// 1. 옵셔널 선언
var optionalName: String? = "John Doe"
// 2. 옵셔널 값을 사용할 때는 언래핑이 필요합니다. 여기서는 강제 언래핑을 사용했습니다.
if optionalName != nil {
print("Name is \(optionalName!)")
} else {
print("Name is nil")
}
// 3. 옵셔널 바인딩을 사용한 안전한 언래핑
if let name = optionalName {
print("Name is \(name)")
} else {
print("Name is nil")
}
// 4. 옵셔널 체이닝
struct Person {
var name: String?
var age: Int?
}
var person: Person? = Person(name: "Alice", age: 30)
if let age = person?.age {
print("Age is \(age)")
} else {
print("Age is nil")
}
// 5. Nil-Coalescing 연산자를 사용하여 기본값 제공
let defaultName = optionalName ?? "Anonymous"
print("Name is \(defaultName)")
// 6. 옵셔널 맵(Optional Map) 사용
let uppercaseName = optionalName?.uppercased()
print("Uppercased name is \(uppercaseName ?? "No Name")")
설명:
- 옵셔널 선언: String? 타입의 변수를 선언하고 초기값으로 "John Doe"를 넣었습니다.
- 강제 언래핑: 옵셔널 값을 강제로 언래핑(! 사용)해서 출력합니다. 이 방법은 값이 nil이 아닌 경우에만 사용해야 합니다.
- 옵셔널 바인딩: if let 구문을 사용하여 옵셔널 값을 안전하게 언래핑하고 사용합니다.
- 옵셔널 체이닝: 옵셔널 속성에 접근할 때 ?를 사용하여 안전하게 값을 추출합니다.
- Nil-Coalescing 연산자: ?? 연산자를 사용해 옵셔널 값이 nil일 경우 기본값을 제공할 수 있습니다.
- 옵셔널 맵: 옵셔널 값에 대한 변환 작업을 할 때 map이나 flatMap을 사용할 수 있습니다.
이런 방식으로 Swift에서 옵셔널을 유용하게 사용할 수 있습니다.