go語言二 流程與控制

2021-09-01 19:06:16 字數 1774 閱讀 6472

條件判斷,迴圈語句

package main

import(

"fmt"

)func computevalue() int

func main() else if x == 10 else

// if 條件判斷語句裡允許宣告變數,作用域只能在條件邏輯塊內

if y := computevalue(); y > 10 else

"y=",y) // y未宣告出錯

//迴圈語句

sum := 0

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

fmt.printf("sum is %v\n",sum)

//for ;i<10; {}

//for i<10 {} 等於c++中的while迴圈功能

m_val := map[string] int

for k,v := range m_val

switch

}

函式

func funcname(input1 type1, input2 type2) (output1 type1, output2 type2)
上面的**我們看出

•關鍵字 func 用來宣告乙個函式 funcname

•函式可以有乙個或者多個引數,每個引數後面帶有型別,通過,分隔

•函式可以返回多個值

•上面返回值宣告了兩個變數 output1 和 output2,如果你不想宣告也可以,直接就

•兩個型別

•如果只有乙個返回值且不宣告返回值變數,那麼你可以省略 包括返回值 的括號

•如果沒有返回值,那麼就直接省略最後的返回資訊

•如果有返回值, 那麼必須在函式的外層新增 return 語句

//返回乙個值

func max(a, b int) int

return b

}//返回多個值

func sumandproduct(a, b int) (int, int)

func sumandproduct(a, b int) (add int, multiplied int)

//不定引數

func myfunc(arg1 string, arg2 ...int)

}//傳值vs傳指標

func get_val(a int, b *int)

func main()

其他特性:

defer 延遲呼叫,常用在函式退出**資源

panic 和 recover 建議少用

go 裡面有兩個保留的函式:init 函式(能夠應用於所有的 package)和 main 函式(只能應用於 package main)

go 程式會自動呼叫 init()和 main(),所以你不需要在任何地方呼叫這兩個函式。每個package 中的 init 函式都是可選的,但 package main 就必須包含乙個 main 函式。程式的初始化和執行都起始於 main 包。如果 main 包還匯入了其它的包,那麼就會在編譯時將它們依次匯入。有時乙個包會被多個包同時匯入,那麼它只會被匯入一次(例如很多包可能都會用到 fmt 包,但它只會被匯入一次,因為沒有必要匯入多次)。當乙個包被匯入時,如果該包還匯入了其它的包,那麼會先將其它包匯入進來,然後再對這些包中的包級常量和變數進行初始化,接著執行 init 函式(如果有的話),依次類推。等所有被匯入的包都載入完畢了,就會開始對 main 包中的包級常量和變數進行初始化,然後執行 main 包中的init 函式(如果存在的話),最後執行 main 函式。

二 流程控制

1 復合語句 j a復合語句是以整個塊區為單位的語句,又稱塊語句。2 條件語句 1 if條件語句 if 表示式1 else if 表示式2 else 2 switch多分支語句 switch 表示式 case 常量值1 break case 常量值2 break default break 3 迴圈...

java語言入門(二) 流程控制語句(3)

條件選擇語句 if 語句 if if else if語句巢狀 階梯 if else 多分支語句 1.switch 表示式 這裡注意 表示式型別的值要與value1 的型別一致,值相等切有break 則會跳出迴圈,沒有則繼續執行,如果表示式的值與value的值均不一樣,則會執行預設語句塊的內容 其中表...

科目二流程

1 進出庫 碰線右打死,左縫對齊停車定點回正,調整,碰線停車,再慢慢調整到前胎壓線 右打一圈半,倒擋,進庫 向左出庫 肩膀過線左打一圈半,門把手過線停車,倒擋進庫 2 側位停車 出位 前進擋,車頭左縫碰線回正,繼續前進,試 字碰到線又轉一圈半,調整進入s車道 3 s車道 從中間調整好進入,左車頭離又...