if語句
if 布爾表達式 {?
?//當(dāng)布爾表達式為真的時候,執(zhí)行括號里面的語句
}
a :=18
b :=19
if a > b {
?fmt.Println("a大于b")
}
/**? ?整個語句的意思就是 當(dāng)a大于b的時候輸出一句話"a大于b"? */
if 布爾表達式 {?
?//當(dāng)布爾表達式為真的時候,執(zhí)行括號里面的語句
}else{
//當(dāng)布爾表達式為假的時候,執(zhí)行這個括號里面的語句
}
a :=18
b :=19?
if a > b {?
fmt.Println("a大于b")
} else {
?fmt.Println("a小于b")
}
/**??整個語句的意思就是 當(dāng)a大于b的時候輸出一句話"?a大于b?" 否則輸出?"a小于b" */
if 布爾表達式1 {
//當(dāng)布爾表達式1成立 進入這里面
}else if 布爾表達式2?{
//當(dāng)布爾表達式2成立 進入這里面
}else {
//如果 布爾表達式1 與?布爾表達式2 都不成立? 則進入這里
}
a :=18
b :=19?
if a > b {
fmt.Println("a大于b")
}else if a > c {
fmt.Println("a大于c")
}else {
fmt.Println("空我")
}
/** 整句話的意思就是 a如果大于b則輸出 a大于b,如果 a大于c 則輸出 a大于c ,如果 a既不大于b 也不大于c 則 輸出空我 */
switch語句
?switch 語句的語法(一):
?a := 1
switch {?
? ? ?case a == v1:?
//當(dāng)a? 為 v1 時候執(zhí)行這個里面的內(nèi)容
? ? ? case a==v2:
?.//當(dāng)a? 為 v2 時候執(zhí)行這個里面的內(nèi)容
? ? ? default:?
//當(dāng)a? 既不為 v1 也不為v2 時候執(zhí)行這個里面的內(nèi)容
?}
grade :="s"
switch {
case grade =="sss":
fmt.Println("恭喜抽到sss卡")
case grade =="s":
fmt.Println("恭喜抽到s卡")
case grade =="A":
fmt.Println("恭喜抽到A級卡")
case grade =="B":
fmt.Println("恭喜抽到B級卡")
}
switch 語句的語法(二):
switch val {?
?case val1:
//當(dāng) val 為val1的時候 執(zhí)行這里的內(nèi)容
?case val2:
//當(dāng) val 為val2的時候 執(zhí)行這里的內(nèi)容
?default:
//當(dāng) val 既不為val1 也不為val2的時候 執(zhí)行這里的內(nèi)容
}
grade :="A"
switch grade {
case "sss":
fmt.Println("恭喜抽到sss卡")
case "s":
fmt.Println("恭喜抽到s卡")
case "A":
fmt.Println("恭喜抽到A級卡")
case "B":
fmt.Println("恭喜抽到B級卡")
default:?
?fmt.Println("充點錢? 繼續(xù)抽")
}
switch - fallthrough
使用 fallthrough關(guān)鍵字會強制執(zhí)行后面的 case 語句,fallthrough 不會判斷下一條 case 的表達式是否成立
像這樣:
grade :="A"
switch grade {
case "sss":
fmt.Println("恭喜抽到sss卡")
fallthrough?
case "s":
fmt.Println("恭喜抽到s卡")
default:?
?fmt.Println("充點錢? 繼續(xù)抽")
}
/**? 不加fallthrough 只會輸出:恭喜抽到sss卡? 加了fallthrough? 會輸出:恭喜抽到sss卡?恭喜抽到s卡 **/
switch 也支持多個條件一起匹配 如下:
grade := "s"
switch grade {
case "sss","s","A":?
?fmt.Println("恭喜抽到比較好的卡咯")
default:?
?fmt.Println("充點錢 成為心悅會員 繼續(xù)抽")
}
只要 grade 符合??"sss","s","A" 中一樣 就會輸出:恭喜抽到比較好的卡咯