옵셔널 바인딩

박중권·2024년 3월 6일
1

Info.

목록 보기
8/13

옵셔널 바인딩이랑:
옵셔널 값이 빈값인지 존재하는지 검사를 한 후, 존재하는 경우 그 값을 다른 변수에 대입시켜 바인딩하는 것을 의미.

if let
if var

guard let
guard var

여기서 if letif 문의 코드 구현부 내에서만 상수 사용이 가능하다 (지역 변수)
그리고 guard letguard문을 통과한 상수를 guard문 밖에서 사용이 가능하다 (전역변수)

구현하는 방법:
if let <#상수 이름#> + <#옵셔널 값#> {
//코드
}

let roommateNumbers: Int? = nil
if let roommates = roommateNumbers {
    print (roommates)
}
// 출력값 없음

let ticketCounts: Int? = 3
if let ticket = ticketCounts {
    print (ticket)
}
// 출력값: 3


// 옵셔널 바인딩 할 변수가 여러 개인 경우
let boyName : String?
let girlName : String?

boyName = "하늘"
girlName = "나연"

// , 콤마로 나열합니다
if let boy = boyName,
   let girl = girlName {
    print(boy, girl)
}
// 출력값: 하늘 나연

let x : Int? = 10
let y : Int? = nil

func opbinding() {
    guard let x = x else { return }
    print(x)

    guard let y = y else { return } // y는 nil 이므로 여기서 return 
    print(y) // 위에서 return 하였기 때문에 이 코드 라인은 실행되지 않음
}

opbinding()
// 출력값: 10

솔직히 하나도 모르겠으니 다시 강의를 봐보자.. ㅎ

profile
Hello World!

3개의 댓글

comment-user-thumbnail
2024년 3월 6일

강의는 다 들으셨나요? 저도 실습하려니 바로 바로 안되더라구요. 다시 봐보겠습니다. 오늘도 수고하셨습니다 ㅎㅎ

답글 달기
comment-user-thumbnail
2024년 3월 6일

너무 공감가네요..ㅋㅋㅋ 누가 제 머리를 바인딩 해버린 건 아닌지 모르겠어요ㅠㅠ 오늘도 고생하셨어요!

답글 달기
comment-user-thumbnail
2024년 3월 6일

옵셔널! 한 번에 이해하기 쉽지 않죠ㅋㅋㅠㅜㅠㅜ 진짜 공감돼요...
앞으로도 화이팅입니다!!! 고생 많으셨어요 :>

답글 달기