对不起基本问题.我想把一个切片作为参数传递给fmt.Sprintf.像这样的东西:
values := []string{"foo", "bar", "baz"}
result := fmt.Sprintf("%s%s%s", values...)
Run Code Online (Sandbox Code Playgroud)
结果会是foobarbaz,但这显然不起作用.
(我想格式化的字符串比这更复杂,所以简单的连接不会这样做:)
所以问题是:如果我有数组,我怎么能把它作为单独的参数传递给fmt.Sprintf?或者:我可以在Go中调用一个传递参数列表的函数吗?
Eva*_*haw 15
正如您在IRC上发现的那样,这将有效:
values := []interface{}{"foo", "bar", "baz"}
result := fmt.Sprintf("%s%s%s", values...)
Run Code Online (Sandbox Code Playgroud)
您的原始代码不起作用,因为fmt.Sprintf接受a []interface{}并且[]string无法隐式或显式地转换为该类型.