为了账号安全,请及时绑定邮箱和手机立即绑定

fmt.Println() 函数中的意外输出

fmt.Println() 函数中的意外输出

Go
森栏 2023-05-04 16:42:30
我从 golang(完全菜鸟)开始,我正在使用一个简单的包装函数 for fmt.Println(str),只是因为它更短而且我更习惯了:func echo(str ...interface{}) {   fmt.Println(str) }问题是 for 的输出echo("Hello")不是.[Hello]Hello我在这里遗漏了一些语法细节吗?如何更改功能以按预期工作?除了这个功能的实际需要外,我还对有关此问题的特定于语言的详细信息感兴趣。谢谢!
查看完整描述

1 回答

?
跃然一笑

TA贡献1826条经验 获得超6个赞

问题是您将fmt.Println参数作为切片发送给参数,而不是作为 varadic。

将您的方法更改为:

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

它会如您所愿地工作。


查看完整回答
反对 回复 2023-05-04
  • 1 回答
  • 0 关注
  • 109 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信