if else
判斷式在我們編寫程式常用的判斷式中最有名的就是if else
判斷式啦!
接下來我們來介紹if else
到底是什麼呢
聰明的你們肯定猜到了,沒錯其實上一篇就有稍微的帶過if else的基本語句了
也就是下方的範例
if 問題 {
答案1
} else {
答案2
}
其實if else
判斷式的用法就和國小的造句作業一樣,也就是如果...否則...if
的後面我們會直接帶入我們希望判斷的條件,如果true就輸出答案1
否則就輸出在else
後面的答案2
以下舉個簡單的例子
let apple = 5
let grape = 10
if apple > grape{
print("蘋果比較多")
}else{
print("葡萄比較多")
}
在上面的例子我們舉例的最後結果是葡萄比較多
false
的情況在寫條件時,我們通常會根據布林值(true 或 false)來決定是否執行某段程式碼。但有時,我們反而是要針對「條件不成立」的情況來處理。
以下是一個判斷「數量是否相同」的例子:
let apple = 5
let grape = 10
let isSameCount = (apple == grape) //false
if isSameCount{
print("數量相同")
}else{
print("數量不同")
}
這裡 isSameCount 是一個布林值,代表「蘋果和葡萄的數量是否相同」
根據這個條件來決定輸出什麼文字
有的時候我們不只有一個條件時就要使用複數的if else
判斷式去層層篩選出我們想要的結果
我們使用的方法如下
if 問題 {
答案1
} else if 問題2{
答案2
}else{
答案3
}
使用方法很直接的就是將新的if else
判斷式接在上一個else的後方
let apple = 5
let grape = 10
let isNotFruit = true
//在這邊我們舉例先確認是不是水果再去比對數量
if isNotFruit{
print("不是水果")
}else if apple > grape{
print("蘋果比較多")
}else{
print("葡萄比較多")
}
guard let
guard let
的用法與if else
判斷式很類似
它的主要用法是用來判斷指派給變數的值是否為nil也就是空值
通常的用法是可以用來提醒使用者資料沒有輸入等情況
我們一樣先從基本語法開始看
guard let 變數 = 可選值 else {
// 如果是 nil,就執行
}
func checkFruit(name: String?) {
guard let fruitName = name else {
print("你沒有輸入水果名稱")
return
}
print("你喜歡的水果是:\(fruitName)")
}
checkFruit(name: "蘋果") // ➜ 你喜歡的水果是:蘋果
checkFruit(name: nil) // ➜ 你沒有輸入水果名稱
if else
有許多的變種用法,不過最主要就是要練習對觀察Bool值的變化來做判斷。