我正在尝试将可变参数从一个函数传递给Go中的另一个函数。基本上是这样的:
func CustomPrint(a ...interface{}) (int, error) {
// ...
// Do something else
// ...
return fmt.Print(a)
}
但是,当我这样做时,
a
像 slice 一样打印,而不像参数列表那样打印。即fmt.Print("a", "b", "c") // Prints "a b c"
CustomPrint("a", "b", "c") // Print "[a b c]"
任何想法如何实现这一点?
最佳答案
调用 slice 时使用...
:
package main
import "fmt"
func CustomPrint(a ...interface{}) (int, error) {
return fmt.Print(a...)
}
func main() {
CustomPrint("Hello", 1, 3.14, true)
}