代码如下:
```
func main(){
fmt.Printf("hello world.你好,世界!")
var v1, v2, v3 int
var str1 string = "000"
var str2 = "123"
str3 := "321"
fmt.Printf("hello world. 你好中国 %d %d %d\n", v1, v2, v3)
fmt.Printf(str1, str2, str3)
}
```
- 输出结果如下:
hello world.你好,世界!hello world. 你好中国 0 0 0
000**%!(EXTRA **string=123, string=321)
Process finished with exit code 0
- 为什么会出现**%!(EXTRA**这段内容,正确的格式应该是什么样子呢?
错误的类型或未知的verb:%!verb(type=value)
Printf("%d", hi): %!d(string=hi)
太多参数(采用索引时会失效):%!(EXTRA type=value)
Printf("hi", "guys"): hi%!(EXTRA string=guys)
太少参数: %!verb(MISSING)
Printf("hi%d"): hi %!d(MISSING)
宽度/精度不是整数值:%!(BADWIDTH) or %!(BADPREC)
Printf("%*s", 4.5, "hi"): %!(BADWIDTH)hi
Printf("%.*s", 4.5, "hi"): %!(BADPREC)hi
没有索引指向的参数:%!(BADINDEX)
Printf("%*[2]d", 7): %!d(BADINDEX)
Printf("%.[2]d", 7): %!d(BADINDEX)
对照一下,这应你就明白了。
#5
更多评论