Go 函數方法作為參數傳遞:Go 函數可作為其他函數的參數傳遞。可以將程式碼組織成模組化且可重複使用的片段。實戰案例:可以使用列印函數作為參數列印切片元素。
Go 語言中函數方法作為參數的傳遞
Go 中的函數是一個一等公民,因此它們可以作為其他函數的參數進行傳遞。這允許您將程式碼組織成模組化且可重複使用的片段。
語法
func f(a int, fn func(int)) { fn(a) }
在這個範例中,f
函數接收兩個參數:一個int
和一個函數型別為func(int)
的函數。
實戰案例:列印切片元素
讓我們寫一個函數來列印切片元素,該函數將列印函數作為參數接收。
package main import "fmt" // PrintSlice 使用给定的打印函数打印切片元素 func PrintSlice(s []int, fn func(int)) { for _, v := range s { fn(v) } } func main() { numbers := []int{1, 2, 3, 4, 5} // 使用 lambda 表达式打印元素 PrintSlice(numbers, func(n int) { fmt.Println(n) }) // 使用命名函数打印元素 PrintSlice(numbers, func(x int) { fmt.Printf("%d ", x) }) }
輸出:
1 2 3 4 5 1 2 3 4 5
在本例中,PrintSlice
函數接受一個切片和一個列印函數。然後,它循環遍歷切片,並將每個元素傳遞給列印函數。
以上是golang函數方法作為參數傳遞的詳細內容。更多資訊請關注PHP中文網其他相關文章!