Menu
Coddy logo textTech

nil 병합 연산자

Coddy Swift 여정의 기초 섹션에 포함된 레슨. 86개 중 14번째.

때로는 여러 줄의 코드를 작성하지 않고 optional이 nil일 때 기본값을 제공하고 싶을 수 있습니다. Swift의 nil 병합 연산자(??)가 바로 그 역할을 합니다. 값이 있으면 optional을 unwraps하고, nil이면 기본값을 반환합니다.

let nickname: String? = nil
let displayName = nickname ?? "Guest"
print(displayName) // Guest

nicknamenil이므로 연산자는 대신 "Guest"를 반환합니다. nickname에 값이 있었다면 해당 값이 사용됩니다.

let username: String? = "SwiftCoder"
let greeting = username ?? "Anonymous"
print(greeting) // SwiftCoder

nil 병합 연산자는 대체 값이 필요한 한 줄짜리 코드에 안성맞춤입니다. 단순히 nil을 default 값으로 대체하고 싶을 때 if let 문을 작성하는 것보다 더 깔끔합니다. 결과는 항상 optional이 아닌 값이므로 추가로 언래핑하지 않고 바로 사용할 수 있습니다.

challenge icon

챌린지

쉬움
username 선택 사항과 defaultName을 받으며, nil 병합 연산자를 사용해 적절한 표시 이름을 반환하는 함수 getDisplayName을 작성하세요.

사용자 이름이 비어 있는 경우(빈 문자열 ""로 표시됨), 이를 nil로 처리하고 기본 이름을 반환하세요. 그렇지 않으면 사용자 이름을 반환하세요.

매개변수:

  • username (String): 사용자의 이름(빈 문자열은 nil을 나타냄)
  • defaultName (String): 사용할 대체 이름

반환값: 비어 있지 않으면 사용자 이름을 반환하고, 그렇지 않으면 defaultName을 반환합니다.

힌트: 함수 내부에서 사용자 이름을 String? 변수에 저장하고, 사용자 이름이 ""과 같으면 간단한 if를 사용하여 해당 변수를 nil로 설정하세요. 그런 다음 ??를 사용하여 대체값을 제공하세요.

직접 해보기

func getDisplayName(username: String, defaultName: String) -> String {
    // 여기에 코드를 작성하세요
}
quiz icon실력 점검

이 레슨에는 짧은 퀴즈가 포함되어 있습니다. 레슨을 시작해 문제를 풀고 진행 상황을 기록하세요.

기초의 모든 레슨

직접 연습해 보세요: Swift 플레이그라운드