首頁  >  文章  >  後端開發  >  golang函數Lambda參數傳遞

golang函數Lambda參數傳遞

PHPz
PHPz原創
2024-04-23 08:51:01377瀏覽

Go 語言中,lambda 表達式參數傳遞使用箭頭語法(=>)指定參數類型和傳回類型,允許將 lambda 表達式作為參數傳遞給其他函數。這種方法簡化了程式碼,無需建立命名函數。例如:func multiply(fn func(int) int, x int) int { return fn(x); }

golang函數Lambda參數傳遞

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 和一個整數 xmultiply 函數將 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中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn