gpt4 book ai didi

go - 如何在函数中传递动态参数

转载 作者:数据小太阳 更新时间:2023-10-29 03:38:25 27 4
gpt4 key购买 nike

我在做什么

 func foo(a string) {}

func bar(b, c string)

type fn func(string)

m: = map[string] fn {
"a": "foo",
"b": "bar"
}

什么是输出

当我这样调用函数时

  m["a"]("Hello")
m["b"]("Hello", "World")

我得到一个错误,因为 type fn func(string) 这里 fn 有一个参数,但我在 m["b"]("Hello", "World") 中传递了两个参数

Error : [ cannot use (type func(string, string)) as type fn in map value ]

我在找什么

我想制作动态的type fn func(string) 这样我就可以传递参数的数量这样我就可以像这样调用

  m["a"]("Hello")
m["b"]("Hello", "World")

最佳答案

创建一个可变参数函数,它将任意数量的参数作为参数传递给函数。

 func foo(nums ...string) {}

m:= map[string]fn{
"a": "foo",
"b": "bar"
}

有关可变参数函数的更多信息,请查看此 Answer

关于go - 如何在函数中传递动态参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49148521/

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