Go語言學習筆記十 Go語言函式的閉包與案例

2022-05-02 05:00:07 字數 1068 閱讀 9284

1

package main

23 import "fmt"45

//67//

adder 這個函式的返回值為乙個型別為func(int) int的函式 這就是組成了乙個閉包

8 func adder() func(int) int14}

15func main()

二、案例一

1

package main23

//閉包的例子2

4 func add(num int) func(int) int8}

910func main()

三、案例二

1

package main

23 import "time"45

func main() ()11}

12 time.sleep(time.second*1)

13 println("-------上面執行結束--------")

1415

//這裡是將i作為引數傳入閉包函式

16for i:=0; i<5; i++(i)20}

21 time.sleep(time.second*1)

22 println("-------下面執行結束--------")

23 }

四、案例三 -字尾匹配

1

package main

23 import "strings"45

//判斷字尾 suffix函式傳乙個字尾,匹配name是否有這個字尾 如果沒有就加上

6func suffixfunc(str string) func(string) string

11return

name12}

13}14//

上面的函式可以寫成下面這樣子 意思差不多吧

15func hassuffix(str string, rear string) string

19return

str20}21

func main()

go語言學習筆記 函式

go語言的函式定義更像是python和c語言的結合體,並且也有不定引數的傳參以及位址傳參方式,非常強大。下面舉一些例子來詳細說明 無參無返回值函式 func myfunc 有參無返回值函式 func myfunc1 a int b int 如果同樣型別,可以簡寫成以下內容 func myfunc2 ...

Go語言學習筆記 函式

函式 函式是各個語句指令的集合,可以實現指定的功能,可以重複使用 定義 func 函式名 引數名 引數型別 返回值名 返回值型別 func x,y int 10,20 匿名函式自呼叫,在後面加上括號簡單來說就是 閉包 函式 匿名函式 引用環境 func adder func int int defe...

Go語言學習(十)Go 語言結構體 Go 併發

go 語言中陣列可以儲存同一型別的資料,但在結構體中我們可以為不同項定義不同的資料型別。結構體是由一系列具有相同型別或不同型別的資料構成的資料集合。1.定義結構體 例項如下 一直出現該報錯的 原因是因為其中語句用的是單引號 2.訪問結構體成員 結構體型別變數使用 struct 關鍵字定義,例項如下 ...