Case let

Updated:

🔷 .some, .none

Case let 을 통해 값이 비어 있는지 여부를 알 수 있습니다 데이터가 있다면 .some 데이터가 없다면 nil 이면 .none 입니다

let friends: [String?] = ["Jacob", nil, nil, "Emma"]

// 데이터가 있다면 .some
for case let .some(aFriend) in friends {
	print(aFriend)
	// Jacob
	// Emma
}

// 데이터가 없다면 즉 nil 이라면 .none
for case let .none in friends {
	print("친구가 없다")
	// 친구가 없다
	// 친구가 없다
}

for (index, aFriend) in friends.enumerated() {
	switch aFriend {
	case let (.some(aFriend)): // 데이터가 있다면
		print("index: \(index), aFriend: \(aFriend)")
	case let(.none): // 데이터가 없다면
		print("index: \(index), 친구가 없다")
	}
}

/*
 index: 0, aFriend: Jacob
 index: 1, 친구가 없다
 index: 2, 친구가 없다
 index: 3, aFriend: Emma
 */

🔷 Case let 변수?

case let 변수? 와 같이 optional 표시로 값이 있을때만 가져 올수 있습니다

위의 case let .some(변수) 와 동일한 기능을 합니다

let friends: [String?] = ["Jacob", nil, nil, "Emma"]

for case let aFriend? in friends {
	print(aFriend)
}

/*
 Jacob
 Emma
 */


Reference

Swift Tip of the day - 스위프트 기초 문법 - https://spangle-wedelia-2dc.notion.site/Swift-Tip-of-the-day-c428bfd990674bcfa2a4973e5d08c4eb

꼼꼼한 재은 씨의 스위프트 문법편 - https://book.jacobko.info/#/book/1186710233

Categories:

Updated:

Leave a comment