为什么 printf 在我的输出后会留下一个额外的“%”?

Aak*_*rma -3 go

我有这段代码

a := 32
fmt.Printf("%d", a)
Run Code Online (Sandbox Code Playgroud)

输出是

32%
Run Code Online (Sandbox Code Playgroud)

当有人会期待

32
Run Code Online (Sandbox Code Playgroud)

会不会是终端效应?我正在使用 zsh。

cra*_*gmj 5

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

尝试这个:

fmt.Printf("%d\n", 32)
Run Code Online (Sandbox Code Playgroud)

在\n将添加一个新行,并提示您现在将在下一行。