我从golang(总菜鸟)开始,我正在为fmt.Println(str)
使用一个简单的包装函数,只是因为它更短并且更习惯:
func echo(str ...interface{}) {
fmt.Println(str)
}
问题是echo("Hello")
的输出是[Hello]
而不是Hello
。
我在这里缺少语法细节吗?如何更改功能以使其按预期工作?
除了此功能的实际需求之外,我对有关此问题的特定于语言的详细信息也很感兴趣。
谢谢!
答案 0 :(得分:2)
问题是您以切片的形式发送给fmt.Println
参数,而不是以杂色形式发送给
将方法更改为:
func echo(str ...interface{}) {
fmt.Println(str...)
}
它将按您期望的那样工作。
从this site检查主题可变参数的参数。