Go語言學習之匿名函式
阿新 • • 發佈:2020-10-28
函式可以分為:匿名函式和普通函式
匿名函式的使用:
匿名函式就是沒有名字的函式,它只有函式邏輯體,而沒有函式名
定義的格式如下
func(引數列表)(返回引數列表){
函式體
}
一個名字實際上沒多大區別,所有使用匿名函式都可以改成普通函式,那麼什麼情況下會使用匿名函式呢
定義變數名,是一個不難,但是費腦子的事情,對於那種只使用一次的函式,是沒必要擁有名字的,所以才有了匿名函式
匿名函式只有短暫的生命,一般都是定義後立即使用
就像這樣定義後,立馬執行
//把100當作引數傳進去 func(data int) { fmt.Println(data) }(100) -------------------------結果------------ 100
或者作為回撥函式使用:
// 第二個引數為函式 func visit(list []int, f func(int)) { for _, v := range list { // 執行回撥函式 f(v) } } func main() { // 使用匿名函式直接做為引數 visit([]int{1, 2, 3, 4}, func(v int) { fmt.Println(v) }) }