golang學習筆記 函式

2022-07-05 23:51:14 字數 2211 閱讀 9697

不定引數型別函式定義 【args ...type】

package main

import "fmt"

func func01(a byte, args ...int)

func main()

//********輸出*********

len(arg) is 3

a is c

定義函式型別

package main

import "fmt"

func add(a, b int) int

//定義函式型別

type functype func(int, int) int

func main()

//********輸出*********

30**函式

package main

import "fmt"

func add(a, b int) int

func subtr(a, b int) int

type functype func(int, int) int

func calculator(a int, b int, funx functype)

func main()

//******輸出*********

a is 10,b is 20

result is 30

a is 20,b is 10

result is 10

匿名函式

package main

import "fmt"

func main()

result := f1(10, 20)

fmt.printf("result is %d \n", result)

//定義匿名函式並直接呼叫

sum := func(n, m int) (sum int) (10, 40)

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

}理解閉包函式的使用

package main

import "fmt"

func test() func() int

}func test2() int

func main()  函式

fmt.println(f1()) // 1

fmt.println(f1()) // 2

fmt.println(f1()) // 3

f2 := test2     // f2指向 test2() int{} 函式

fmt.println(f2()) // 1

fmt.println(f2()) // 1

fmt.println(f2()) // 1

}defer 延時呼叫(在函式中return之後執行)

package main

import "fmt"

func main()

package main

import "fmt"

func main() (a, b)

a = 100

b = 200

fmt.printf("a = %d,b = %d \n", a, b)

// a = 100,b = 200

// a = 10,b = 20

}package main

import "fmt"

func main()

package main

import "fmt"

func c() (i int) ()

return 1

}func main()

//*****分析********

先執行c()函式裡面的 return 1 由於定義c函式時定義了返回值的變數名為i,所以這時的i等於1

defer 函式在return之後執行,也就是在 i=1 被賦值之後執行defer的函式,所以結果為 2

package main

import "fmt"

func main()

func test() (result int) ()

return 1

}func test1() (result int) ()

return t

}//*******分析************

test1() 返回 5 是因為函式定義的返回變數是 result 而 defer 函式中使用的變數是 t 而不是 result

Golang學習筆記 函式

go函式定義格式如下 func function name parameter list return types 例如 func add n1,n2 int int go可以很靈活的建立函式,並作為另外乙個函式的實參 type gettownumberresultfunc func int int...

Golang學習筆記 九 函式

什麼是函式?函式是乙個打包好的語句序列單元,我們將多個語句邏輯定義成為乙個函式,這樣方便我們在程式中多次呼叫,而在golang語言,函式更是一等公民,在我們的開發中隨處可見。乙個函式,由關鍵字func 函式名 形參列表,返回值列表和函式體五個部分組成,格式如下 func name arg int e...

Golang學習筆記 09 函式

函式是基本的 塊,用於執行乙個任務。go 語言最少有個 main 函式。通過函式來劃分不同功能,邏輯上每個函式執行的是指定的任務。函式宣告告訴了編譯器函式的名稱,返回型別,和引數。go 語言標準庫提供了多種可動用的內建的函式。例如,len 函式可以接受不同型別引數並返回該型別的長度。如果我們傳入的是...