go中的結構控制與c有許多相似之處,但其不同之處才是獨到之處。go不再使用do
或while
迴圈,只有乙個更通用的for
;switch
要更靈活一點;if
和switch
像for
一樣可接受可選的初始化語句;此外,還有乙個包含型別選擇和多路通訊復用器的新控制結構:select
。其語法也有些許不同:沒有圓括號,而其主體必須始終使用大括號括住。
1. if語句
if x > 0 else if a == 0 else
2.1switch
並不會自動下溯,但case
可通過逗號分隔來列舉相同的處理條件。
func shouldescape(c byte) bool2.2return false
}
switch
也可用於判斷介面變數的動態型別。如型別選擇通過圓括號中的關鍵字type
使用型別斷言語法。若switch
在表示式中宣告了乙個變數,那麼該變數的每個子句中都將有該變數對應的型別。
var t inte***ce{}3.for迴圈 go的t = functionofsometype()
switch t := t.(type)
for
迴圈類似於c,但卻不盡相同。它統一了for
和while
,不再有do-while
了。它有三種形式,但只有一種需要分號。
// 如同c的for迴圈for init; condition; post
// 如同c的while迴圈
for condition
// 如同c的for(;;)迴圈
for
例:for x := 0; x < 10 ; x ++
for n := range m
sum := 0for _, value := range array
Go 的控制語句
以下是演示 package main import fmt func main else if num 0else 當然列印結果是第乙個yes,第二個no 以下是演示 1.無限迴圈 package main import fmt func main fmt.println over 2.條件迴圈 p...
Go語言之Go 語言迴圈語句
go 語言提供了以下幾種型別迴圈處理語句 迴圈型別 描述for 迴圈 重複執行語句塊 迴圈巢狀 在 for 迴圈中巢狀乙個或多個 for 迴圈 迴圈控制語句可以控制迴圈體內語句的執行過程。go 語言支援以下幾種迴圈控制語句 控制語句 描述break 語句 經常用於中斷當前 for 迴圈或跳出 swi...
go語言的defer語句
go語言defer語句的用法 參考 defer後面必須是函式呼叫語句,不能是其他語句,否則編譯器會出錯。package main import log func foo n int int這個例子中defer後面使用的是n 指令,不是乙個函式呼叫語句,編譯器就報錯 command line argu...