옵셔널 바인딩이랑:
옵셔널 값이 빈값인지 존재하는지 검사를 한 후, 존재하는 경우 그 값을 다른 변수에 대입시켜 바인딩하는 것을 의미.
if let
if var
guard let
guard var
여기서 if let은 if 문의 코드 구현부 내에서만 상수 사용이 가능하다 (지역 변수)
그리고 guard let은 guard문을 통과한 상수를 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
솔직히 하나도 모르겠으니 다시 강의를 봐보자.. ㅎ
강의는 다 들으셨나요? 저도 실습하려니 바로 바로 안되더라구요. 다시 봐보겠습니다. 오늘도 수고하셨습니다 ㅎㅎ