package main

import (
        "log"
)

func main() {
        print("nums is %d,%d,%d,%d,%d", 1, 2, 3, 4, 5)
}

func print(str string, s ...interface{}) {
        log.Printf("[notice]"+str, s)
}

自己写了一个print函数,想通过传递多个参数,print接收之后打印,但是结果如下:
关于Go的可变参数的使用 我踩的坑

显然没有符合预期,本来想依次打印1,2,3,4,5 结果第一个%d讲整个interface打印出来了,后面的%d 却没有了参数。

how to fix it?
看看Go的语法糖,将interface切分:
关于Go的可变参数的使用 我踩的坑
在interface后面加… 即可切分,再次运行 效果如下:
关于Go的可变参数的使用 我踩的坑
问题解决了。

相关文章:

  • 2021-10-06
  • 2021-08-14
  • 2022-12-23
  • 2022-12-23
  • 2021-09-07
  • 2022-12-23
  • 2023-02-13
  • 2021-06-17
猜你喜欢
  • 2022-12-23
  • 2021-04-14
  • 2022-12-23
  • 2022-12-23
  • 2022-02-06
  • 2021-04-19
  • 2021-11-28
相关资源
相似解决方案