Go從入門到精通 匿名函式 沒有函式名字的函式

2022-09-21 20:33:13 字數 1012 閱讀 4689

go 語言支援匿名函式,即在需要使用函式時,再定義函式,匿名函式沒有函式名,只有函式體,函式可以被作為一種型別賦值給函式型別的變數,匿名函式也往往以變數方式被傳遞。

匿名函式經常被用於實現**函式、閉包等。

匿名函式的定義格式如下:

func(引數列表)(返回引數列表)
匿名函式的定義就是沒有名字的普通函式定義。

匿名函式可以在宣告後呼叫:

func(data int)(100)
匿名函式體可以被賦值:

// 將匿名函式體儲存到 f() 中

f := func(data int)

// 使用 f() 呼叫

f(100)

實現對切片的遍歷操作,遍歷中訪問每個元素的操作使用匿名函式來實現。

功能:使用者傳入不同的匿名函式體可以實現對元素不同的遍歷操作,**如下:

package main

import "fmt"

// 遍歷切片的每個元素,通過給定函式進行元素訪問

func visit(list int, f func(int))

}func main() , func(v int) )

}

**說明如下:

下面這段**將匿名函式作為 map 的鍵值,通過命令列引數動態呼叫匿名函式,**如下:

Go語言從入門到精通 匿名變數

在使用多重賦值時,如果不需要在左值中接收變數,可以使用匿名變數 anonymous variable 匿名變數的表現是乙個下畫線 使用匿名變數時,只需要在變數宣告的地方使用下畫線替換即可。例如 func getdata int,int a,getdata b getdata fmt.println ...

Go從入門到精通 指標

指標概念在 go 語言中被拆分成為兩個核心概念 c c 中指標飽受詬病的根本原因是指標運算和記憶體釋放。c c 語言中的裸指標可以自由偏移 甚至可以在某些情況下偏移進入作業系統核心區域。我們計算機作業系統經常需要更新 修復漏洞的本質,是為解決指標越界訪問所導致的 緩衝區溢位 同時指標又是c c 語言...

Go語言從入門到精通 字元型別

字串中的每乙個元素叫做 字元 在遍歷或者單個獲取字串元素時可以獲得字元。go 語言的字元有以下兩種 使用 fmt.printf 中的 t動詞可以輸出變數的實際型別,使用這個方法可以檢視 byte 和 rune 的本來型別,如下 var a byte a fmt.printf d t n a,a va...