Rumah > pembangunan bahagian belakang > Golang > hirisan fungsi golang diluluskan sebagai parameter

hirisan fungsi golang diluluskan sebagai parameter

WBOY
Lepaskan: 2024-04-22 16:48:02
asal
761 orang telah melayarinya

Kepingan fungsi dalam bahasa Go boleh dihantar sebagai parameter untuk meningkatkan fleksibiliti kod. Sintaks adalah seperti berikut: fungsi func(fn func([]int) []int, slice []int) []int, di mana fungsi menerima slice fungsi fn dan slice slice sebagai parameter.

hirisan fungsi golang diluluskan sebagai parameter

Melalui kepingan fungsi sebagai parameter dalam bahasa Go

Dalam bahasa Go, fungsi boleh dihantar sebagai parameter kepada fungsi lain. Ini ialah teknik berkuasa yang menjadikan kod anda lebih fleksibel dan boleh digunakan semula.

Syntax

Sintaks untuk menghantar kepingan fungsi sebagai parameter adalah seperti berikut:

func function(fn func([]int) []int, slice []int) []int
Salin selepas log masuk

fungsi ialah untuk menerima kepingan fungsi fn dan kepingan slice< /code> berfungsi sebagai parameter. func mentakrifkan jenis kepingan fungsi, yang menerima kepingan integer panjang N dan mengembalikan kepingan integer panjang M. function 是接收函数切片 fn 和切片 slice 作为参数的函数。func 定义了函数切片的类型,它接收一个长度为 N 的整数切片,并返回一个长度为 M 的整数切片。

实战案例

我们来看一个将函数切片作为参数传递的实战案例。假设我们有一个函数 apply

Kes praktikal

Mari lihat kes praktikal menghantar kepingan fungsi sebagai parameter. Katakan kita mempunyai fungsi apply yang mengambil kepingan fungsi dan kepingan dan menggunakan setiap fungsi dalam kepingan fungsi kepada setiap elemen dalam kepingan. 🎜
package main

import "fmt"

func main() {
    // 定义函数切片
    fns := []func(int) int{
        func(i int) int { return i + 1 },
        func(i int) int { return i * 2 },
    }

    // 定义切片
    slice := []int{1, 2, 3}

    // 将函数切片和切片传递给 apply 函数
    result := apply(fns, slice)

    // 打印结果
    fmt.Println(result)
}

// apply 函数接收一个函数切片和一个切片,并对切片中的每个元素应用函数切片中的每个函数
func apply(fns []func(int) int, slice []int) []int {
    result := make([]int, len(slice))
    for i, v := range slice {
        for _, fn := range fns {
            result[i] = fn(v)
        }
    }
    return result
}
Salin selepas log masuk
🎜🎜output🎜🎜
[]int{2, 4, 6}
Salin selepas log masuk

Atas ialah kandungan terperinci hirisan fungsi golang diluluskan sebagai parameter. 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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan