Fungsi Golang Lambda parameter passing

PHPz
Lepaskan: 2024-04-23 08:51:01
asal
371 orang telah melayarinya

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 }
Salin selepas log masuk

Fungsi Golang Lambda parameter passingParameter 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) }
Salin selepas log masuk

Dalam contoh ini, fungsi darabmenerima dua parameter: ungkapan Lambda fndan integer x. Fungsi darabmenghantar xsebagai argumen kepada ungkapan Lambda fndan 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 }
Salin selepas log masuk

参数传递

当将 Lambda 表达式作为参数传递给其他函数时,需要使用箭头语法(=>)来指定参数类型和返回类型。例如:

rrreee

在这个例子中,multiply函数接受两个参数:一个 Lambda 表达式fn和一个整数xmultiply函数将x作为参数传递给 Lambda 表达式fn,然后返回结果。

实战案例

下面是一个使用 Lambda 参数传递的实战案例:

rrreee

在这个案例中,squareLambda 表达式计算整数的平方,而multiply函数使用square

Kes praktikalBerikut ialah kes praktikal menggunakan lulus parameter Lambda: rrreeeDalam kes ini, ungkapan segi empatLambda mengira kuasa dua integer dan darab mengira kuasa dua 5 menggunakan ungkapan Lambda kod.

Atas ialah kandungan terperinci Fungsi Golang Lambda parameter passing. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!