Go語言學(xué)習(xí)之條件語句使用詳解
1、if...else判斷語法
語法的使用和其他語言沒啥區(qū)別。
樣例代碼如下:
// 判斷語句
func panduan(a int) {
if a > 50 {
fmt.Println("a > 50")
} else if a < 30 {
fmt.Println("a < 30")
} else {
fmt.Println("a <= 50 and a >= 30")
}
}
func main() {
panduan(120)
}
執(zhí)行結(jié)果
a > 50
2、if嵌套語法
樣例代碼如下
//嵌套判斷
func qiantao(b, c uint) {
if b >= 100 {
b -= 20
if c > b {
fmt.Println("c OK")
} else {
fmt.Println("b OK")
}
}
}
執(zhí)行結(jié)果
c OK
3、switch語句
兩種寫法,不需要加break。
樣例代碼如下
//switch使用
func test_switch() {
var a uint = 90
var result string
switch a {
case 90:
result = "A"
case 80, 70, 60:
result = "B"
default:
result = "C"
}
fmt.Printf("result: %v\n", result)
switch {
case a > 90:
result = "A"
case a <= 90 && a >= 80:
result = "B"
default:
result = "C"
}
fmt.Printf("result: %v\n", result)
}執(zhí)行結(jié)果
result: A
result: B
注意
1、可是在switch后面加變量,后面的case主要做匹配判斷。也可以直接使用switch{},case直接對關(guān)系運算結(jié)果做匹配。
2、 case中可以選擇匹配多項。
4、類型switch語句
switch語句可以使用type-switch進(jìn)行類型判斷,感覺很實用的語法。
樣例代碼如下
//測試類型switch
func test_type_switch() {
var x interface{}
x = 1.0
switch i := x.(type) {
case nil:
fmt.Printf("x type = %T\n", i)
case bool, string:
fmt.Printf("x type = bool or string\n")
case int:
fmt.Printf("x type = int\n")
case float64:
fmt.Printf("x type = float64\n")
default:
fmt.Printf("未知\n")
}
}執(zhí)行結(jié)果
x type = float64
注意
1、interface{}可以表示任何類型。
2、語法格式變量.(type)
5、fallthrough關(guān)鍵字使用
使用fallthrough關(guān)鍵字會強(qiáng)制執(zhí)行后面的case語句內(nèi)容,不管時候觸發(fā)該case條件。
樣例代碼如下
// 測試fallthrough
func test_fallthrough() {
a := 1
switch {
case a < 0:
fmt.Println("1")
fallthrough
case a > 0:
fmt.Println("2")
fallthrough
case a < 0:
fmt.Println("3")
fallthrough
case a < 0:
fmt.Println("4")
case a > 0:
fmt.Println("5")
fallthrough
case a < 0:
fmt.Println("6")
fallthrough
default:
fmt.Println("7")
}
}執(zhí)行結(jié)果
2
3
4
注意
1、如果一旦在往下執(zhí)行case內(nèi)容中不存在fallthrough,則會停止繼續(xù)往下執(zhí)行case內(nèi)容。
小結(jié)
我看到還有個select語句,需要和chan關(guān)鍵字進(jìn)行配合使用,沒不了解,后面先研究一下chan關(guān)鍵字。
到此這篇關(guān)于Go語言學(xué)習(xí)之條件語句使用詳解的文章就介紹到這了,更多相關(guān)Go條件語句內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Go使用database/sql操作數(shù)據(jù)庫的教程指南
Go?語言中,有一個名為database/sql的標(biāo)準(zhǔn)庫,提供了統(tǒng)一的編程接口,使開發(fā)人員能夠以一種通用的方式與各種關(guān)系型數(shù)據(jù)庫進(jìn)行交互,本文就來和大家講講它的具體操作吧2023-06-06
利用go語言實現(xiàn)Git?重命名遠(yuǎn)程分支??
這篇文章主要介紹了go語言實現(xiàn)Git?重命名遠(yuǎn)程分支,文章基于go語言的基礎(chǔ)展開Git?重命名遠(yuǎn)程分支的實現(xiàn)過程,需要的小伙伴可以參考一下,希望對你的學(xué)習(xí)有所幫助2022-06-06
Golang實現(xiàn)CronJob(定時任務(wù))的方法詳解
這篇文章主要為大家詳細(xì)介紹了Golang如何通過一個單 pod 去實現(xiàn)一個常駐服務(wù),去跑定時任務(wù)(CronJob),文中的示例代碼講解詳細(xì),需要的可以參考下2023-04-04
詳解Golang如何實現(xiàn)一個環(huán)形緩沖器
環(huán)形緩沖器(ringr?buffer)是一種用于表示一個固定尺寸、頭尾相連的緩沖區(qū)的數(shù)據(jù)結(jié)構(gòu),適合緩存數(shù)據(jù)流。本文將利用Golang實現(xiàn)一個環(huán)形緩沖器,需要的可以參考一下2022-09-09

