fmt.Println()函数中的异常输出

时间:2018-10-27 16:39:49

标签: go refactoring println

我从golang(总菜鸟)开始,我正在为fmt.Println(str)使用一个简单的包装函数,只是因为它更短并且更习惯:

func echo(str ...interface{}) {
  fmt.Println(str)
}

问题是echo("Hello")的输出是[Hello]而不是Hello

我在这里缺少语法细节吗?如何更改功能以使其按预期工作?

除了此功能的实际需求之外,我对有关此问题的特定于语言的详细信息也很感兴趣。

谢谢!

1 个答案:

答案 0 :(得分:2)

问题是您以切片的形式发送给fmt.Println参数,而不是以杂色形式发送给

将方法更改为:

func echo(str ...interface{}) {
    fmt.Println(str...)
}

它将按您期望的那样工作。

this site检查主题可变参数的参数