go語言 golang基礎 流程控制

2022-08-11 08:21:17 字數 3385 閱讀 6601

1 流程控制

程式語言的流程控制語句,用於設定計算執行的次序,建立程式的邏輯結構。可以說,

流程控制語句是整個程式的骨架。

從根本上講,流程控制只是為了控制程式語句的執行順序,一般需要與各種條件配合,因此, 在各種流程中,會加入條件判斷語句。流程控制語句一般起以下3個作用:

go語言支援如下的幾種流程控制語句:

在具體的應用場景中,為了滿足更豐富的控制需求,go語言還新增了如下關鍵字:break、 continue和fallthrough。在實際的使用中,需要根據具體的邏輯目標、程式執行的時間和空 間限制、**的可讀性、編譯器的**優化設定等多種因素,靈活組合。

接下來簡要介紹一下各種流程控制功能的用法以及需要注意的要點。

1.1 條件語句

if a < 5

else

關於條件語句,需要注意以下幾點:

失敗的原因在於,go編譯器無法找到終止該函式的return語句。編譯失敗的案例如下:

func example(x int) int

else

}

例子:段子:

老婆:買十個包子,如果有賣西瓜的,買乙個西瓜

老公:如果有賣西瓜的,買乙個包子,否則買十個包子

package main

import

"fmt

"func main()

}

package main

import

"fmt

"func main()

else

}

else if

package main

import

"fmt

"func main()

else

else

else

else}}

}}

package main

import

"fmt

"func main()

else

if score >= 80

else

if score >= 70

else

if score >= 60

else

}

1.2 選擇語句

選擇語句根據傳入條件的不同,選擇語句會執行不同的語句。下面的例子根據傳入的整型變數i的不同而列印不同的內容:

switch i

執行上面的案例,將會得到如下結果:

比較有意思的是,switch後面的表示式甚至不是必需的,比如下面的例子:

switch

在使用switch結構時,我們需要注意以下幾點:

例子:

package main

import

"fmt

"func main()

fmt.println("

老公的想法:")

switch yes

//判斷分數所在等級

var score int

fmt.println("

請輸入你的分數:")

fmt.scan(&score)

switch

}

1.3 迴圈語句

與多數語言不同的是,go語言中的迴圈語句只支援for關鍵字,而不支援while和do-while 結構。關鍵字for的基本使用方法與c和c++中非常接近:

sum := 0

for i := 0; i < 10; i++

可以看到比較大的乙個不同在於for後面的條件表示式不需要用圓括號()包含起來。go語言 還進一步考慮到無限迴圈的場景,讓開發者不用寫無聊的for (;;) {} 和 do {} while(1);, 而直接簡化為如下的寫法:

sum := 0

for

}

在條件表示式中也支援多重賦值,如下所示:

a := int

fmt.println(len(a))
for i, j := 0, len(a)-1; i < j; i, j = i+1, j-1

結果:$ go run loop.go

66 1

5 24 3

使用迴圈語句時,需要注意的有以下幾點。

for j := 0; j < 5; j++

fmt.println(i)

} }//jloop:

//...

本例中,break語句終止的是jloop標籤處的外層迴圈。

例子:

package main

import

"fmt

"func main()

fmt.println(result)

result = 0

i := 1

for i <= 100

fmt.println(result)

/*i = 0

for

*///

字串 陣列 切片 對映 管道

desc := "

我愛中國

"for i, ch :=range desc

}

1.4 跳轉語句

goto語句被多數語言學者所反對,諄諄告誡不要使用。但對於go語言這樣乙個惜關鍵字如金的語言來說,居然仍然支援goto關鍵字,無疑讓某些人跌破眼鏡。goto還是會在一些場合下被證明是最合適的。

goto語句的語義非常簡單,就是跳轉到本函式內的某個標籤,如:

func myfunc() 

}

2 break & continue

break 用於跳出迴圈,當條件滿足則結束迴圈

continue 用於跳過迴圈,當條件滿足這跳過本次迴圈進行後置或條件子語句執行

例子:break

package main

import

"fmt

"func main()

fmt.println(i)

}}

結果:

$ go run break.go01

234

例子:continue

package main

import

"fmt

"func main()

fmt.println(i)

}}

結果:

$ go run continue.go01

2346

789

Golang基礎 流程控制

package main import fmt func main package main import fmt 單分支控制 func main package main import fmt func main package main import fmt 多分支控制 多分支只能有乙個執行入口...

Go語言 流程控制

if else分支判斷 if condition1 if condition1 else if condition1 else if condition2 else if condition3 else 練習 package main import fmt func main else 練習 寫乙個...

GO語言基礎教程 流程控制

package main import fmt func main fmt.println x,y 其次輸出2,2 fmt.println x,y 最後輸出1,2 var a int a xx if a 1else if a 2else 通過上邊的程式碼不難發現其實go語言的if寫法和別的程式語言幾...