请教个小问题,有点困惑

daemon_w · · 3339 次点击
明白了,是MySprintf里的变参如果再传到另外一个函数时,就变成slice了,这时需要再加上...就好了 ``` func MySprintf(tag string, format string, v ...interface{}) { msg := fmt.Sprintf(format, v...)//注意要传进来的是v...,不是v fmt.Println("msg: " + msg) fmt.Println(tag + ": " + msg) } ``` 测试正常。 ``` value: beijing is bigger than shanghai msg: beijing is bigger than shanghai main/MySprintf: beijing is bigger than shanghai ```
#1
更多评论
qkb_75_go
琴为心声
楼主的意图,其实是不定个数的参数 <stfarg.h>,要用 vsprintf 函数。 据我所知在golang 1.4之前,还没有类似的函数,需要自己来处理 % 以及循环读取参数。
#2