golang匿名函數(shù)是什么

小億
86
2023-10-22 04:35:02

Golang中的匿名函數(shù)是一種沒(méi)有明確名稱的函數(shù)。它可以在需要函數(shù)的地方直接定義和使用,而不需要事先聲明一個(gè)函數(shù)。

匿名函數(shù)可以作為一種值賦給變量或者作為參數(shù)傳遞給其他函數(shù)。這使得在需要一個(gè)短小的函數(shù)時(shí),可以直接在代碼中定義匿名函數(shù),而不必創(chuàng)建一個(gè)完整的命名函數(shù)。

匿名函數(shù)的語(yǔ)法類似于普通函數(shù),只是沒(méi)有函數(shù)名。它可以在定義時(shí)直接調(diào)用,也可以賦值給變量后再調(diào)用。匿名函數(shù)也可以訪問(wèn)外部函數(shù)的變量,這種特性稱為閉包。

以下是一個(gè)簡(jiǎn)單的匿名函數(shù)的示例:

func main() { add := func(a, b int) int { return a + b }

result := add(2, 3)
fmt.Println(result) // 輸出:5

}

在這個(gè)示例中,我們定義了一個(gè)匿名函數(shù),并將其賦值給變量add。然后我們通過(guò)調(diào)用add函數(shù)來(lái)計(jì)算兩個(gè)數(shù)字的和。匿名函數(shù)的定義和調(diào)用都在同一個(gè)代碼塊中完成。

0