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

如何使用“...interface{}”参数包装函数(如 Printf)

如何使用“...interface{}”参数包装函数(如 Printf)

Go
呼如林 2021-06-11 16:08:52
在我当前的项目中,我正在尝试编写一个有条件地调用 fmt.Println 的日志函数。我当前的 Log 函数如下所示:func Log(level int, a ...interface{}) {    if level <= LogLevel {        fmt.Println(a)    }}但是当我这样称呼它时,由于某种原因,Log 的输出被括在括号中:http://play.golang.org/p/Aa8vC54Ih0package mainimport "fmt"var LogLevel intfunc main() {    fmt.Println("string", 10, 3.1415926)    LogLevel = 1    Log(1, "string", 10, 3.1415926)}func Log(level int, a ...interface{}) {    if level <= LogLevel {        fmt.Println(a)    }}string 10 3.1415926[string 10 3.1415926]这对我来说看起来像是aLog 中的论点以某种方式被转换了。我将如何以a与直接调用 fmt.Println 相同的方式传递给 fmt.Println?
查看完整描述

1 回答

  • 1 回答
  • 0 关注
  • 166 浏览
慕课专栏
更多

添加回答

举报

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