iOS/Swift
[Swift] assert 와 guard
유훈 | Yuhun
2022. 1. 25. 00:14
반응형
// assert, guard
// 값 확인에 사용
// assert
// 디버깅 모드에서만 작동
var a: Int = 0
// 맞으면 지나감 아니면 출력하고 중지
assert(a == 0, "someInt != 0")
a = 1
//assert(a == 0, "someInt != 0")
// guard 는 빠른 종료를 위한 구문
// if else로 구현하는 것과 비슷
// 예시
var count: Int = 1
while true{
guard count < 3 else{
break
}
print(count)
count += 1
}
// 딕셔너리에서 유용
// 참고로 딕셔너리에서 꺼내오는 값은 항상 옵셔널(값이 없을 수도 있으니까)
func exFunc(info: [String: Any]){
// info.name이 String인가? 아니면 리턴
guard let name = info["name"] as? String else{
return
}
guard let age = info["age"] as? Int, age >= 0 else {
return
}
print("\(name): \(age)")
}
exFunc(info: ["name":"personA", "age":20])
exFunc(info: ["name":"personB", "age":"30"]) // 그냥 return
반응형