链接:https://play.golang.org/p/1b5MbgIP2N
代码:
package main
import "fmt"
func main() {
println("his power level is over 9000!!! KAKAROTO")
println(test(2))
}
func test(x int) int {
fmt.Println(x, "\n", "new line here")
fmt.Println("another line here")
return x + 1
}
由于某些我不知道的原因,在运行该函数时,“new”前面似乎只有一个前导空白字符。这可能是非常明显的事情但发生了什么?我没有看到我明确地在任何地方添加空格
答案 0 :(得分:2)
documentation for fmt.Println说:
总是在操作数之间添加空格,并附加换行符。
有一个领先的空间,因为fmt.Println在“\ n”和“new line here”操作数之间添加了一个空格。
为方便起见,fmt.Println函数在操作数之间添加空格。它节省了在函数的典型使用中添加许多“”操作数。
将代码更改为fmt.Println(x, "\nnew line here")
,以避免不必要的空间。