如何在Go中将可变参数从一个函数传递到另一个函数

时间:2013-07-30 06:40:52

标签: go composition variadic-functions

我正试图在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]"

知道如何实现这个吗?

1 个答案:

答案 0 :(得分:5)

使用切片调用时使用...

package main
import "fmt"
func CustomPrint(a ...interface{}) (int, error) {
     return fmt.Print(a...)
}
func main() {
     CustomPrint("Hello", 1, 3.14, true)
}