gpt4 book ai didi

go - 参数作为参数数量可变的函数

转载 作者:IT王子 更新时间:2023-10-29 01:49:45 24 4
gpt4 key购买 nike

我如何在 Golang 中传递一个函数作为可能有多个参数的参数,例如fmt.Printf?

第一个问题是必须首先定义要传递的函数的类型。

type FunctionWithVariableArgumentLength func(s string, object1 type1, ..., objectn typen)

第二个问题是人们不知道列表中的参数可能具有什么类型,例如 fmt.Printf

最佳答案

关于其他功能有一个原型(prototype):http://golang.org/pkg/fmt/#Printf

所以你可以像这样定义你的函数接受一个函数作为参数:

func exe(f func(string, ...interface{}) (int, error)) {
f("test %d", 23)
}
func main() {
exe(fmt.Printf)
}

Demonstration

关于go - 参数作为参数数量可变的函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25765640/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com