go語言學習筆記6------流程控制①

前面我們寫的程序都是從第一行開始執行,一直執行到末尾,一行一行的順序執行下來,這種執行結構叫順序執行結構。
GO語言除了有順序結構,還有選擇結構,循環結構。
順序結構:程序按順序執行,不發生跳轉。
選擇結構:依據是否滿足條件,有選擇的執行相應功能。
循環結構:依據條件是否滿足,循環多次執行某段代碼。

1.1if結構

在編程中實現選擇判斷結構就是用if
if結構基本語法
if 條件判斷{
代碼語句
},
條件判斷如果爲真(true),那麼就執行大括號中的語句,如果爲假(false),就不執行大括號中的語句,(大家可以想一下,什麼樣的表達式返回的結果要麼爲true,要麼爲false),繼續執行if結構後面的代碼
具體案例如下:

func main(){
var age int=26
var b bool
b=age>18
if b{
fmt.Println("我已經成年了。")
}
}

上面的代碼可以轉化爲

func main(){
var age int =30
if age>18{
fmt.Println("我已經成年了。")
}
}

條件不滿足時不執行

func main(){
var age int =16
if age>=18{
fmt.Println("我已近成年了")
}
}

1.2if else結構

結構如下:
if 條件判斷{
代碼語句1
}else{
代碼語句2
}
首先先執行if後面的條件判斷,如果條件判斷成立(結果爲真),執行if後面的代碼語句1,代碼語句1執行完成後,表示整個if—else–結構結束了(else後面的代碼語句2不會執行),繼續執行後面的代碼。如果if後面的條件判斷不成立也就是結果爲假,那麼if後面的代碼語句1不會被執行,這時會執行else後面的代碼語句2,執行完後,表示整個if—else—結構執行結束了,再執行後續的代碼。

//成績大於等於60分及格,否則不及格
func main(){
var score int
fmt.Println("請輸入成績")
fmt.Scan(&score)
if score>=60{
fmt.Println("成績合格")
}else{
fmt.Println("成績不合格")
}
}

1.3 if嵌套

我們上面的案例中,使用的是if-else的基本結構,其實if-else結構還可以進行嵌套使用。

//例如:輸入公交卡當前的餘額,只要超過2元,就可以上公交車;如果空座位的數量大於0,就可以坐下。
func main(){
var money int
fmt.Println("請輸入公交卡的餘額")
fmt.Scan(&money)
if money>=2{
var seat int
fmt.Println("請輸入公交車的座位數")
fmt.Scan(&seat)
if seat>0{
fmt.Println("請坐")
}else{
fmt.Println("不好意思,暫時沒有座位了")
}
}else{
fmt.Println("餘額不足,請充值!")
}
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章