Rumah  >  Artikel  >  pembangunan bahagian belakang  >  kaedah fungsi golang diluluskan sebagai parameter

kaedah fungsi golang diluluskan sebagai parameter

WBOY
WBOYasal
2024-04-22 17:39:01363semak imbas

Kaedah fungsi Go diluluskan sebagai parameter: Fungsi Go boleh diluluskan sebagai parameter fungsi lain. Kod boleh disusun menjadi kepingan modular dan boleh digunakan semula. Kes praktikal: Anda boleh menggunakan fungsi cetakan sebagai parameter untuk mencetak elemen kepingan.

kaedah fungsi golang diluluskan sebagai parameter

Melepasi kaedah fungsi sebagai parameter dalam bahasa Go

Fungsi dalam Go ialah warganegara kelas pertama, jadi ia boleh diluluskan sebagai parameter fungsi lain. Ini membolehkan anda menyusun kod anda menjadi kepingan modular dan boleh digunakan semula.

Syntax

func f(a int, fn func(int)) {
    fn(a)
}

Dalam contoh ini, fungsi f menerima dua parameter: int dan fungsi jenis func(int) code > fungsi. <code>f 函数接收两个参数:一个int 和一个函数类型为 func(int) 的函数。

实战案例:打印切片元素

让我们编写一个函数来打印切片元素,该函数将打印函数作为参数接收。

package main

import "fmt"

// PrintSlice 使用给定的打印函数打印切片元素
func PrintSlice(s []int, fn func(int)) {
    for _, v := range s {
        fn(v)
    }
}

func main() {
    numbers := []int{1, 2, 3, 4, 5}

    // 使用 lambda 表达式打印元素
    PrintSlice(numbers, func(n int) { fmt.Println(n) })

    // 使用命名函数打印元素
    PrintSlice(numbers, func(x int) { fmt.Printf("%d ", x) })
}

输出:

1
2
3
4
5
1 2 3 4 5 

在本例中,PrintSlice

🎜Kes Praktikal: Mencetak Elemen Slice🎜🎜🎜Mari kita tulis fungsi untuk mencetak elemen hirisan yang menerima fungsi cetakan sebagai parameter. 🎜rrreee🎜Output: 🎜rrreee🎜Dalam contoh ini, fungsi PrintSlice menerima hirisan dan fungsi cetakan. Ia kemudian menggelung melalui kepingan dan menghantar setiap elemen ke fungsi cetakan. 🎜

Atas ialah kandungan terperinci kaedah fungsi golang diluluskan sebagai parameter. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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