Dalam bahasa Go, hantaran parameter ungkapan lambda menggunakan sintaks anak panah (=>) untuk menentukan jenis parameter dan jenis pengembalian, membenarkan ungkapan lambda dihantar sebagai parameter kepada fungsi lain. Pendekatan ini memudahkan kod dan menghapuskan keperluan untuk mencipta fungsi bernama. Contohnya: func multiply(fn func(int) int, x int) int { return fn(x); yang membolehkan fungsi ditakrifkan tanpa mencipta fungsi bernama. Dalam bahasa Go, ungkapan Lambda ditakrifkan menggunakan kata kuncifunc
, seperti yang ditunjukkan di bawah:
func(x int) int { return x * x }
Parameter passing
Apabila menghantar ungkapan Lambda sebagai parameter kepada fungsi lain, anda perlu menggunakan sintaks anak panah (=>
) untuk menentukan jenis parameter dan jenis pengembalian. Contohnya:
func multiply(fn func(int) int, x int) int { return fn(x) }
fn
dan integer
x
. Fungsi
darab
menghantar
x
sebagai argumen kepada ungkapan Lambda
fn
dan mengembalikan hasilnya.
func
关键字定义,如下所示:
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 }
参数传递
当将 Lambda 表达式作为参数传递给其他函数时,需要使用箭头语法(=>
)来指定参数类型和返回类型。例如:
在这个例子中,multiply
函数接受两个参数:一个 Lambda 表达式fn
和一个整数x
。multiply
函数将x
作为参数传递给 Lambda 表达式fn
,然后返回结果。
实战案例
下面是一个使用 Lambda 参数传递的实战案例:
rrreee在这个案例中,square
Lambda 表达式计算整数的平方,而multiply
函数使用square
segi empat
Lambda mengira kuasa dua integer dan
kod
.
Atas ialah kandungan terperinci Fungsi Golang Lambda parameter passing. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!