可以在go中“部分应用”可变参数函数吗?

时间:2017-05-02 11:03:06

标签: go variadic-functions

给定一个声明为

的函数
func foo(bars ...string) {
    // ...
}

我想这样称呼:

bar1 := "whiskey bar"
rest := []string{"vodka bar", "wine bar"}
foo(bar1, rest...)

但这不编译;此消息的最后一行错误:

have (string, []string...)
want (...[]string)

有没有办法可以声明一个可变参数函数,以便可以使用零个或多个值作为参数调用它,以及零个或一个值数组(最后)?

1 个答案:

答案 0 :(得分:1)

您必须按照docs中的说明将签名更改为func foo(some string, bars ...string)。更多在操场上:https://play.golang.org/p/xlsCKzhj5y