fmt.Println() 函数中的意外输出
Unexpected output in fmt.Println() function
我从 golang(完全菜鸟)开始,我正在为 fmt.Println(str)
使用一个简单的包装函数,只是因为它更短而且我更习惯它:
func echo(str ...interface{}) {
fmt.Println(str)
}
问题是 echo("Hello")
的输出是 [Hello]
而不是 Hello
。
我是否遗漏了一些语法细节?我怎样才能更改功能以按预期工作?
除了此功能的实际需要之外,我对有关此问题的特定语言的详细信息很感兴趣。
谢谢!
问题是您将参数作为切片发送到 fmt.Println
,而不是作为 varadic。
将您的方法更改为:
func echo(str ...interface{}) {
fmt.Println(str...)
}
它会如您所愿地工作。
检查主题 可变参数函数的参数 来自 this site。
我从 golang(完全菜鸟)开始,我正在为 fmt.Println(str)
使用一个简单的包装函数,只是因为它更短而且我更习惯它:
func echo(str ...interface{}) {
fmt.Println(str)
}
问题是 echo("Hello")
的输出是 [Hello]
而不是 Hello
。
我是否遗漏了一些语法细节?我怎样才能更改功能以按预期工作?
除了此功能的实际需要之外,我对有关此问题的特定语言的详细信息很感兴趣。
谢谢!
问题是您将参数作为切片发送到 fmt.Println
,而不是作为 varadic。
将您的方法更改为:
func echo(str ...interface{}) {
fmt.Println(str...)
}
它会如您所愿地工作。
检查主题 可变参数函数的参数 来自 this site。