からログ(ログパッケージの実装):
167 // Println calls l.Output to print to the logger.
168 // Arguments are handled in the manner of fmt.Println.
169 func (l *Logger) Println(v ...interface{}) { l.Output(2, fmt.Sprintln(v...)) }
log.Println
は単なる関数ラッパーですfmt.Sprintln
、なぜ代わりにそれを使うべきなのかfmt.Println
またはfmt.Sprintln
?
何か実際的な理由はありますか?
ベストアンサー1
2 つの点が異なります。
パッケージ log による印刷は並行 goroutine から安全です (plain は
fmt
そうではありません)ログはタイミング情報を自動的に追加できます。
つまり、これらはまったく異なる 2 つのものです。log はログ記録用とfmt
フォーマット用です。(確かに、log は同じ動詞とフラグを使用しますが、これは単に便利なだけです)。