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接收之后打印,但是结果如下:
显然没有符合预期,本来想依次打印1,2,3,4,5 结果第一个%d讲整个interface打印出来了,后面的%d 却没有了参数。
how to fix it?
看看Go的语法糖,将interface切分:
在interface后面加… 即可切分,再次运行 效果如下:
问题解决了。