首頁 > 後端開發 > Golang > 主體

golang函數方法作為參數傳遞

WBOY
發布: 2024-04-22 17:39:01
原創
361 人瀏覽過

Go 函數方法作為參數傳遞:Go 函數可作為其他函數的參數傳遞。可以將程式碼組織成模組化且可重複使用的片段。實戰案例:可以使用列印函數作為參數列印切片元素。

golang函數方法作為參數傳遞

Go 語言中函數方法作為參數的傳遞

Go 中的函數是一個一等公民,因此它們可以作為其他函數的參數進行傳遞。這允許您將程式碼組織成模組化且可重複使用的片段。

語法

func f(a int, fn func(int)) {
    fn(a)
}
登入後複製

在這個範例中,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 函數接受一個切片和一個列印函數。然後,它循環遍歷切片,並將每個元素傳遞給列印函數。

以上是golang函數方法作為參數傳遞的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板