條件語句用于根據(jù)不同的條件執(zhí)行不同的操作。
Go中的條件可以是真或假。
Go支持?jǐn)?shù)學(xué)中常見的比較運(yùn)算符:
小于 < 小于等于 <= 大于 > 大于等于 >= 等于 == 不等于 != 此外,Go還支持常見的邏輯運(yùn)算符:
邏輯與 && 邏輯或 || 邏輯非 ! 您可以使用這些運(yùn)算符或它們的組合來創(chuàng)建不同決策的條件。
示例 嘗試一下 x > y x != y (x > y) && (y > z) (x == y) || z
Go具有以下條件語句:
- 使用if來指定在指定條件為真時(shí)執(zhí)行的代碼塊
- 使用else來指定在相同條件為假時(shí)執(zhí)行的代碼塊
- 使用else if來指定要測(cè)試的新條件山析,如果第一個(gè)條件為假
- 使用switch來指定要執(zhí)行的多個(gè)備選代碼塊
if語句
使用if語句來指定在條件為真時(shí)執(zhí)行的一段Go代碼。
語法
if 條件 {
// 如果條件為真掏父,則執(zhí)行的代碼
}
請(qǐng)注意笋轨,if關(guān)鍵字要小寫。大寫字母(If或IF)會(huì)導(dǎo)致錯(cuò)誤赊淑。
在下面的示例中爵政,我們測(cè)試了兩個(gè)值,以確定20是否大于18陶缺。如果條件為真钾挟,則打印一些文本:
示例
package main
import ("fmt")
func main() {
if 20 > 18 {
fmt.Println("20 大于 18")
}
}
我們也可以測(cè)試變量:
示例
package main
import ("fmt")
func main() {
x := 20
y := 18
if x > y {
fmt.Println("x 大于 y")
}
}
示例解釋
在上面的示例中,我們使用了兩個(gè)變量x和y饱岸,測(cè)試x是否大于y(使用>運(yùn)算符)掺出。由于x為20,y為18苫费,我們知道20大于18汤锨,所以我們打印出"x 大于 y"。
else語句
使用else語句來指定在條件為假時(shí)執(zhí)行的一段代碼百框。
語法
if 條件 {
// 如果條件為真闲礼,則執(zhí)行的代碼
} else {
// 如果條件為假,則執(zhí)行的代碼
}
使用if else語句的示例:
示例
在此示例中铐维,時(shí)間(20)大于18柬泽,因此if條件為假。因此嫁蛇,我們轉(zhuǎn)而執(zhí)行else條件锨并,并在屏幕上打印"晚上好"。如果時(shí)間小于18睬棚,程序?qū)⒋蛴?白天好":
package main
import ("fmt")
func main() {
時(shí)間 := 20
if 時(shí)間 < 18 {
fmt.Println("白天好琳疏。")
} else {
fmt.Println("晚上好有决。")
}
}
示例
在此示例中,溫度為14空盼,因此if的條件為假书幕,因此執(zhí)行else語句中的代碼行:
package main
import ("fmt")
func main() {
溫度 := 14
if 溫度 > 15 {
fmt.Println("外面溫暖。")
} else {
fmt.Println("外面寒冷揽趾。")
}
}
else語句中的括號(hào)應(yīng)該像} else {這樣寫:
示例
將else的括號(hào)放在不同的行會(huì)引發(fā)錯(cuò)誤:
package main
import ("fmt")
func main() {
溫度 := 14
if 溫度 > 15 {
fmt.Println("外面溫暖台汇。")
} // 這將引發(fā)錯(cuò)誤
else {
fmt.Println("外面寒冷。")
}
}
結(jié)果:
./prog.go:9:3: 語法錯(cuò)誤:意外的 else篱瞎,期望 }
else if 語句
使用 else if 語句在第一個(gè)條件為假時(shí)指定新條件苟呐。
語法:
if 條件1 {
// 如果條件1為真時(shí)執(zhí)行的代碼
} else if 條件2 {
// 如果條件1為假且條件2為真時(shí)執(zhí)行的代碼
} else {
// 如果條件1和條件2都為假時(shí)執(zhí)行的代碼
}
使用 else if 語句的示例:
package main
import (
"fmt"
)
func main() {
time := 22
if time < 10 {
fmt.Println("早上好。")
} else if time < 20 {
fmt.Println("白天好俐筋。")
} else {
fmt.Println("晚上好牵素。")
}
}
結(jié)果:
晚上好。
示例解釋:
在上面的示例中澄者,時(shí)間(22)大于10笆呆,因此第一個(gè)條件為假。接下來粱挡,在 else if 語句中的下一個(gè)條件也為假赠幕,因此我們轉(zhuǎn)向 else 條件,因?yàn)闂l件1和條件2都為假询筏,所以輸出屏幕上顯示 "晚上好"榕堰。
但是,如果時(shí)間為14嫌套,我們的程序?qū)⒋蛴?"白天好"逆屡。
另一個(gè) else if 的示例:
package main
import (
"fmt"
)
func main() {
a := 14
b := 14
if a < b {
fmt.Println("a 小于 b。")
} else if a > b {
fmt.Println("a 大于 b踱讨。")
} else {
fmt.Println("a 和 b 相等魏蔗。")
}
}
結(jié)果:
a 和 b 相等。
注意:
如果條件1和條件2都為真勇蝙,則僅執(zhí)行條件1的代碼沫勿。
嵌套的 if 語句
您可以在 if 語句內(nèi)部使用 if 語句挨约,這稱為嵌套的 if味混。
語法:
if 條件1 {
// 如果條件1為真時(shí)執(zhí)行的代碼
if 條件2 {
// 如果條件1和條件2都為真時(shí)執(zhí)行的代碼
}
} else {
// 如果條件1為假時(shí)執(zhí)行的代碼
}
嵌套 if 語句的示例:
package main
import (
"fmt"
)
func main() {
num := 20
if num >= 10 {
fmt.Println("Num 大于等于 10。")
if num > 15 {
fmt.Println("Num 也大于 15诫惭。")
}
} else {
fmt.Println("Num 小于 10翁锡。")
}
}
結(jié)果:
Num 大于等于 10。
Num 也大于 15夕土。
最后
為了方便其他設(shè)備和平臺(tái)的小伙伴觀看往期文章馆衔,鏈接奉上:
公眾號(hào)搜索Let us Coding
瘟判,知乎,開源中國(guó)角溃,CSDN拷获,思否,掘金减细,InfoQ匆瓜,簡(jiǎn)書澈蚌,博客園泵肄,慕課,51CTO酬蹋,helloworld萧吠,騰訊開發(fā)者社區(qū)左冬,阿里開發(fā)者社區(qū)
看完如果覺得有幫助,歡迎點(diǎn)贊纸型、收藏和關(guān)注