去 - 打印项目之间没有空格

nsl*_*mnx 8 go

fmt.Println("a","b")
Run Code Online (Sandbox Code Playgroud)

我想打印没有空格填充的两个字符串,即"ab",但上面将打印"a b".

去fmt

我只是切换到使用Printf

fmt.Printf("%s%s\n","a","b")
Run Code Online (Sandbox Code Playgroud)

Dav*_*rth 15

如果您将最后一个元素设为"\n",则普通旧打印将起作用.
如果您不习惯printf样式格式化,它也会更容易阅读.

在游戏中看到这里

fmt.Println("a","b")
fmt.Print("a","b","\n")
fmt.Printf("%s%s\n","a","b")
Run Code Online (Sandbox Code Playgroud)

将打印:

a b
ab
ab
Run Code Online (Sandbox Code Playgroud)

  • 不要忘记`fmt.Println("a"+"b")` (4认同)

Mat*_*zyk 10

正如它可以在文档中找到的那样:

Println 使用其操作数的默认格式格式化并写入标准输出。操作数之间总是添加空格并附加换行符。它返回写入的字节数和遇到的任何写入错误。

所以你要么需要做你已经说过的,或者你可以在打印之前连接字符串:

fmt.Println("a"+"b")

根据您的用例,您可以strings.Join(myStrings, "")用于该目的。

  • 我想知道让 `Print` 的行为与这样的 `Println` 略有不同的理由是什么。 (4认同)