匿名函數在 Go 中沒有名稱,可作為參數傳遞給其他函數。用法:語法:func([參數列表]) ([傳回值列表]) { // 函數體 }可省略參數和傳回值。可直接傳遞給其他函數。實戰案例:排序列表時,可透過匿名函數比較元素。
匿名函數的用法
在Go 語言中,匿名函數是一種特殊類型的函數,它沒有名稱,並且通常用於作為其他函數的參數。它們可以出現在使用函數指標的地方,例如回呼函數。
用法
匿名函數的語法如下:
func([参数列表]) ([返回值列表]) { // 函数体 }
其中[參數清單]
和[傳回值列表]
是可選的。省略時,匿名函數沒有參數或傳回值。
範例
我們以一個計算兩個數總和的匿名函數為例:
sum := func(a, b int) int { return a + b }
我們也可以將匿名函數直接傳遞給其他函數,如下所示:
otherFunction(func(i int) bool { return i % 2 == 0 })
這個匿名的bool
函數檢查一個整數是否為偶數。
實戰案例
讓我們考慮一個排序字串清單的範例:
// 比较两个字符串的函数 compareStrings := func(a, b string) int { return strings.Compare(a, b) } // 使用 sort.Slice 对字符串列表进行排序 strings := []string{"apple", "banana", "cherry"} sort.Slice(strings, compareStrings) fmt.Print(strings) // [apple banana cherry]
在上面的程式碼中,我們宣告了一個匿名函數compareStrings
,它用於比較兩個字串。我們接著將這個函數傳遞給了 sort.Slice
函數,它使用匿名函數對字串清單進行排序。
匿名函數在 Go 中非常有用,它們可以使程式碼更簡潔、更易於閱讀。
以上是golang匿名函數的用法的詳細內容。更多資訊請關注PHP中文網其他相關文章!