标签: go
我有这段代码
a := 32 fmt.Printf("%d", a)
输出为
32%
何时有人期望
32
为什么?
谢谢!
编辑:这可能是终端效应;我正在使用zsh。
答案 0 :(得分:1)
问题是Printf没有添加换行符。您看到的'%'是您的bash / shell提示符。
尝试一下:
fmt.Printf("%d\n", 32)
\n将添加换行符,并且提示符现在在下一行。
\n
答案 1 :(得分:0)
我无法重现您的问题。在Go playground上尝试一下。您将看到没有结尾的%。
肯定还有另一个原因。
请注意,格式字符串的末尾没有换行符。 %可能来自后续的printf。