// 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에서 옵셔널을 유용하게 사용할 수 있습니다.
'programmer '프로그래머'' 카테고리의 다른 글
UITextField 속성 (0) | 2024.09.03 |
---|---|
struct, class 와 예시 (0) | 2024.09.02 |
Array 를 사용하는 예시 코드 (0) | 2024.08.29 |
'if-else' 문에 대한 예시 코드 (0) | 2024.08.28 |
함수의 Swift구현 입니다. (0) | 2024.08.27 |