為什么這個(gè) panicf-sprintf在 Golang 1.11 中導(dǎo)致類型錯(cuò)誤?Go 沒有解釋原因,即使它說這是一個(gè)常見的錯(cuò)誤。https://golang.org/doc/go1.11#vetgo vet現(xiàn)在在構(gòu)建期間強(qiáng)制執(zhí)行。func panicf(s string, i ...interface{}) { panic(fmt.Sprintf(s, i)) }測(cè)試正在返回missing ... in args forwarded to printf-like functionvet將其描述為func (*ptrStringer) BadWrap(x int, args ...interface{}) string { return fmt.Sprint(args) // ERROR "missing ... in args forwarded to print-like function"}func (*ptrStringer) BadWrapf(x int, format string, args ...interface{}) string { return fmt.Sprintf(format, args) // ERROR "missing ... in args forwarded to printf-like function"請(qǐng)幫忙解釋一下...這方面的golang 。這是一個(gè)功能性的游樂場(chǎng):https ://play.golang.org/p/DijjanQNkxK
1 回答

Cats萌萌
TA貢獻(xiàn)1805條經(jīng)驗(yàn) 獲得超9個(gè)贊
panicf()
接受i
作為可變參數(shù),與fmt.Sprintf()
. 因此,您必須告訴編譯器您希望將 的每個(gè)值i
發(fā)送到,fmt.Sprintf()
而不是將整個(gè)值作為一個(gè)切片發(fā)送。
所以把代碼改成:
func panicf(s string, i ...interface{}) { panic(fmt.Sprintf(s, i...)) }
- 1 回答
- 0 關(guān)注
- 184 瀏覽
添加回答
舉報(bào)
0/150
提交
取消