我从golang(total noob(开始,我为fmt.Println(str)
使用了一个简单的包装器函数,只是因为它更短,我更习惯它:
func echo(str ...interface{}) {
fmt.Println(str)
}
问题是echo("Hello")
的输出是[Hello]
而不是Hello
。
我是不是遗漏了一些语法细节?如何更改功能以按预期工作?
除了这个函数的实际需求之外,我对这个问题的特定语言细节感兴趣。
谢谢!
问题是您将参数作为切片发送到fmt.Println
,而不是作为varadic。
将您的方法更改为:
func echo(str ...interface{}) {
fmt.Println(str...)
}
它会如你所期望的那样工作。
查看此站点的主题变元函数的参数。