2017-11-05 10 views
1

を指定するリンクは思われない先頭にスペースがあります:私には未知の何らかの理由なぜ私は新しい行を期待し、先頭にスペース

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 
} 

https://play.golang.org/p/1b5MbgIP2N

コードは関数が実行されるときに、 "new"の前に1つの先頭に空白文字があるように見えます。これは本当に明白なことかもしれませんが、何が起こっていますか?私は明示的にどこでも

答えて

2

スペースを追加していることがわかりませんdocumentation for fmt.Printlnは言う:

スペースは常にオペランドの間に追加され、改行が追加されます。

fmt.Printlnが "\ n"と "新しい行ここ"のオペランドの間にスペースを追加するため、先行スペースがあります。

fmt.Println関数は、便宜上、オペランド間にスペースを追加します。これは、関数の典型的な使用に複数のオペランドを追加することを節約します。

不要なスペースを避けるため、コードをfmt.Println(x, "\nnew line here")に変更してください。

関連する問題