1. ホーム
  2. go

[解決済み] Goにおけるfmt.Println()とprintln()の相違点

2022-05-01 08:38:08

質問

以下の図のように、両方の fmt.Println()println() はGoで同じ出力をします。 Hello world!

でも、この2つはどう違うのでしょうか?

スニペット1では fmt パッケージを使用します。

package main

import (
    "fmt"
)

func main() {
    fmt.Println("Hello world!")
}

スニペット2、 fmt パッケージを使用します。

package main

func main() {
    println("Hello world!")
}

解決方法は?

println は(ランタイムに)組み込まれた関数で、いずれ削除される可能性があります。 fmt パッケージは標準ライブラリにあり、これは持続する。参照 仕様書 というトピックがあります。

言語開発者にとって便利なのは println を依存関係なしに使用することですが、その方法は fmt パッケージかそれに類するもの( log など)。

できるように は実装をご覧ください。 print(ln) 関数は、異なる出力モードを遠隔でサポートするようにさえ設計されておらず、主にデバッグツールとなっています。