fmt-当我尝试打印int时,为什么Printf会留下%?

时间:2019-11-28 15:13:32

标签: go

我有这段代码

a := 32
fmt.Printf("%d", a)

输出为

32%

何时有人期望

32

为什么?

谢谢!

编辑:这可能是终端效应;我正在使用zsh。

2 个答案:

答案 0 :(得分:1)

问题是Printf没有添加换行符。您看到的'%'是您的bash / shell提示符。

尝试一下:

fmt.Printf("%d\n", 32)

\n将添加换行符,并且提示符现在在下一行。

答案 1 :(得分:0)

我无法重现您的问题。在Go playground上尝试一下。您将看到没有结尾的%。

肯定还有另一个原因。

请注意,格式字符串的末尾没有换行符。 %可能来自后续的printf。