我正试图在Go中将可变参数从一个函数传递到另一个函数。基本上是这样的:
func CustomPrint(a ...interface{}) (int, error) {
// ...
// Do something else
// ...
return fmt.Print(a)
}
然而,当我这样做时,a
被打印成一个切片,而不是一个参数列表。即。
fmt.Print("a", "b", "c") // Prints "a b c"
CustomPrint("a", "b", "c") // Print "[a b c]"
知道如何实现这个吗?
答案 0 :(得分:5)
使用切片调用时使用...
:
package main
import "fmt"
func CustomPrint(a ...interface{}) (int, error) {
return fmt.Print(a...)
}
func main() {
CustomPrint("Hello", 1, 3.14, true)
}