go流程控制與函式

2021-09-07 10:55:10 字數 1451 閱讀 5151

package main;

import (

"fmt"

);func main() else

//多條件判斷

a := 15;

if a > 0 && a < 10 else if a > 10 && a < 20 else if a > 20

//goto跳轉當前函式內定義的標籤

b := 10;

test:

if b != 0

//for迴圈

sum := 0;

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

fmt.println(sum);

//for配合range讀取map和slice中資料

var s = int;

for k, v := range s

m := make(map[string]string);

m["name"] = "xiaoxu";

m["age"] = "27";

m["***"] = "男";

for k, v := range m

//switch分支判斷

//go裡面switch預設每個case最後帶有break

//可以使用fallthrough強制執行後面的case**

var code int = 2;

switch code

//呼叫函式

fmt.println(sum2(10, 20));

//呼叫返回多個值的函式

su, minus := sumandminus(10, 20);

fmt.println(su, minus);

//呼叫變參函式

prints(5, 4, 3, 2, 1);

//呼叫傳值函式

num := 10;

add1(num);

fmt.println(num);

//呼叫傳指標函式,這裡num的值也跟著改變了

add2(&num);

fmt.println(num);

//呼叫defer

testdefer();

}//宣告乙個函式,返回型別int

func sum2(num1 int, num2 int) int

//函式返回多個值

func sumandminus(num1 int, num2 int) (int, int)

//變參函式

func prints(arg ...int)

}//傳值函式

func add1(n int) int

//傳指標

func add2(n *int) int

//defer延遲語句,當函式執行到最後時,這些defer語句會按照逆序執行,最後該函式返回。

func testdefer()

}

go流程控制

用於測試條件是否成立,成立則執行if括起來的 if condition 複製 如果需要在條件不滿足時執行,則只需要加上else即可 if condition else 複製 如果存在多個條件,可以使用else if增加新的判斷 if condition1 else if condition2 els...

go流程控制

1 if語句 1 if ture else 2if a 44 a 23else 2 switchswitch 語句用於基於不同條件執行不同動作,每乙個 case 分支都是唯一的,從上直下逐一測試,直到匹配為止。golang switch 分支表示式可以是任意型別,不限於常量。可省略 break,預設...

go流程控制

go語言僅有兩種流程控制語法,不存在while if age 18else if age 7else 標準迴圈 標準迴圈,結束後變數不存在 for i 0 i 10 i 迴圈外定義,結束迴圈後,變數仍存在 var i 0for i 10 i 將累加數值置於迴圈體中 for i 10 閉迴圈 forr...