Hi,大家好,我是明哥,
在自己學習 Golang 的這段時間里,我寫了詳細的學習筆記放在我的個人微信公眾號 《Go編程時光》,對于 Go 語言,我也算是個初學者,因此寫的東西應該會比較適合剛接觸的同學,如果你也是剛學習 Go 語言,不防關注一下,一起學習,一起成長,
我的在線博客:http://golang.iswbm.com
我的 Github:github.com/iswbm/GolangCodingTime
1. 條件陳述句模型
Go里的流程控制方法還是挺豐富,整理了下有如下這么多種:
- if - else 條件陳述句
- switch - case 選擇陳述句
- for - range 回圈陳述句
- goto 無條件跳轉陳述句
- defer 延遲執行
今天先來講講 if-else 條件陳述句
Go 里的條件陳述句模型是這樣的
if 條件 1 {
分支 1
} else if 條件 2 {
分支 2
} else if 條件 ... {
分支 ...
} else {
分支 else
}
Go編譯器,對于 { 和 } 的位置有嚴格的要求,它要求 else if (或 else)和 兩邊的花括號,必須在同一行,
由于 Go是 強型別,所以要求你條件運算式必須嚴格回傳布爾型的資料(nil 和 0 和 1 都不行,具體可查看《詳解資料型別:字典與布爾型別》),
對于這個模型,分別舉幾個例子來看一下,
2. 單分支判斷
只有一個 if ,沒有 else
import "fmt"
func main() {
age := 20
if age > 18 {
fmt.Println("已經成年了")
}
}
如果條件里需要滿足多個條件,可以使用 && 和 ||
&&:表示且,左右都需要為true,最終結果才能為 true,否則為 false||:表示或,左右只要有一個為true,最終結果即為true,否則 為 false
import "fmt"
func main() {
age := 20
gender := "male"
if (age > 18 && gender == "male") {
fmt.Println("是成年男性")
}
}
3. 多分支判斷
if - else
import "fmt"
func main() {
age := 20
if age > 18 {
fmt.Println("已經成年了")
} else {
fmt.Println("還未成年")
}
}
if - else if - else
import "fmt"
func main() {
age := 20
if age > 18 {
fmt.Println("已經成年了")
} else if age >12 {
fmt.Println("已經是青少年了")
} else {
fmt.Println("還不是青少年")
}
}
4. 高級寫法
在 if 里可以允許先運行一個運算式,取得變數后,再對其進行判斷,比如第一個例子里代碼也可以寫成這樣
import "fmt"
func main() {
if age := 20;age > 18 {
fmt.Println("已經成年了")
}
}
系列導讀
01. 開發環境的搭建(Goland & VS Code)
02. 學習五種變數創建的方法
03. 詳解資料型別:****整形與浮點型
04. 詳解資料型別:byte、rune與string
05. 詳解資料型別:陣列與切片
06. 詳解資料型別:字典與布爾型別
07. 詳解資料型別:指標
08. 面向物件編程:結構體與繼承
09. 一篇文章理解 Go 里的函式
10. Go語言流程控制:if-else 條件陳述句
11. Go語言流程控制:switch-case 選擇陳述句
12. Go語言流程控制:for 回圈陳述句
13. Go語言流程控制:goto 無條件跳轉
14. Go語言流程控制:defer 延遲呼叫
15. 面向物件編程:介面與多型
16. 關鍵字:make 和 new 的區別?
17. 一篇文章理解 Go 里的陳述句塊與作用域
18. 學習 Go 協程:goroutine
19. 學習 Go 協程:詳解信道/通道
20. 幾個信道死鎖經典錯誤案例詳解
21. 學習 Go 協程:WaitGroup
22. 學習 Go 協程:互斥鎖和讀寫鎖
23. Go 里的例外處理:panic 和 recover
24. 超詳細解讀 Go Modules 前世今生及入門使用
25. Go 語言中關于包匯入必學的 8 個知識點
26. 如何開源自己寫的模塊給別人用?
27. 說說 Go 語言中的型別斷言?
28. 這五點帶你理解Go語言的select用法

轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/17395.html
標籤:Go
