Go 語言中,lambda 表達式參數傳遞使用箭頭語法(=>)指定參數類型和傳回類型,允許將 lambda 表達式作為參數傳遞給其他函數。這種方法簡化了程式碼,無需建立命名函數。例如:func multiply(fn func(int) int, x int) int { return fn(x); }
Go 語言函數Lambda 參數傳遞
Lambda 表達式是一種簡化函數建立的語法糖,允許在不建立命名函數的情況下定義函數。 Go 語言中,Lambda 表達式使用func
關鍵字定義,如下所示:
func(x int) int { return x * x }
參數傳遞
當將Lambda 表達式作為參數傳遞給其他函數時,需要使用箭頭語法(=>
)來指定參數類型和傳回類型。例如:
func multiply(fn func(int) int, x int) int { return fn(x) }
在這個範例中,multiply
函數接受兩個參數:一個 Lambda 表達式 fn
和一個整數 x
。 multiply
函數將 x
作為參數傳遞給 Lambda 表達式 fn
,然後傳回結果。
實戰案例
下面是使用Lambda 參數傳遞的實戰案例:
package main import "fmt" func main() { // 创建一个 Lambda 表达式来计算平方 square := func(x int) int { return x * x } // 使用 Lambda 表达式作为参数调用 multiply 函数 result := multiply(square, 5) // 输出结果 fmt.Println(result) // 输出: 25 }
在這個案例中,square
Lambda 表達式計算整數的平方,而multiply
函數使用square
Lambda 表達式計算5 的平方。
以上是golang函數Lambda參數傳遞的詳細內容。更多資訊請關注PHP中文網其他相關文章!