SWIFT-guard let 用法

guard let,專門判斷 optional 是否有值和讀取它的內容

基本語法:

#寫法1

func showName(name: String?) {
   guard let name else { return }
   print("my name is \(name)")
}


#寫法2

func showName(name: String?) {
   guard let name = name else { return }
   print("my name is \(name)")
}

guard 一定要在 function 裡面

guard 條件判斷

guard 可以用來檢查條件是否符合
如果”不符合”會進入 else 大括號裡面邏輯區塊

func checkData(intVal: Int)->Bool{
    guard intVal > 10  else {
        return false
    }
    return true
}

checkData(intVal:5)
checkData(intVal:50)

guard 多條件判斷

func checkData(intVal: Int)->Bool{
    guard intVal > 10,intVal > 100 else {
        return false
    }
    return true
}

checkData(intVal:5)
checkData(intVal:50)
checkData(intVal:101)

guard 檢查 nil

另外 guard 也可以檢查參數是否為 nil 值
是 nil 值將會走 else

else 大括號裡面邏輯區塊一定要有 return 否則會報錯

func sayHello(name: String?){
    guard let newName = name else {
        print("姓名欄位不能為空,請輸入正確姓名!")
        return
    }
    print("Hello, \(newName)")
}

sayHello(name:nil)
sayHello(name:"YA!!")