HIT해

[Swift 기초문법 - 68] .some .none 본문

Swift/Swift 기초문법

[Swift 기초문법 - 68] .some .none

힛해 2024. 8. 23. 01:24
728x90

.some과 .none이란?

Optional 타입의 두 가지 가능한 상태를 나타내는 값이다. 

Optional 타입에만 사용되며 값이 존재할 수도 있고 존재하지 않을 수도 있는 상황을 다루기 위해 사용된다.

 

Optional 타입

  1. some : 값이 존재하는 경우
  2. none :  값이 존재하지 않는 경우

 

일반적인 사용

보통 언래핑을 할때 some과 none 을 사용하기보단 if let 또는 guard let 을 사용한다.

func greet(name: String?) {
    if let unwrappedName = name {
        print("Hello, \(unwrappedName)!")
    } else {
        print("Hello, stranger!")
    }
}

greet(name: "Alice")  // 출력: Hello, Alice!
greet(name: nil)      // 출력: Hello, stranger!

 

직접 사용한다면 아래와 같이 사용할 수 있다.

let age: Int? = nil
switch age {
case .some(let value):
    print("Age is \(value)")
case .none:
    print("Age is not provided")  // 출력: Age is not provided
}

 

 

이런 개념이 있구나 알아가면 좋을 듯 하다.