Golangの出力方法がたくさんある

いつもJavascriptをメインで使用している。Javascriptで最も使用するのはConsoleオブジェクトに間違いない。

console

デバックの際には本当にお世話になっている。なかでもconsole.tableには本当に感謝している。いつもありがとう。

もうConsoleがなくては生きていけない体になってしまったので、Golangでも同様に出力しようとしたら、何やら書き方がたくさんあって困惑した。

Golangで出力する

fmt.Printf()

第一引数に書式指定文字列を受け取り、第二引数以降に渡した値をフォーマットして出力

fmt.Printf({書式指定}, {})

fmt.Println()

値を標準の書式で出力。 fmt.Printf(%v, {値})と同じになる。

fmt.Println({})

調べたらこれくらいしかなかった。 じゃあなんで混乱したかというとコードを書いていてlog.Printf()というのが出てきたせいである。

log.Printf() / log.PrintIn()

パッケージ ログは、単純なログ パッケージを実装します。これは、出力をフォーマットするためのメソッドを備えたタイプLoggerを定義します

つまりどういうことかよくわからないので、実装してみる。

fmt と log の違いを実装してみる。

func main() {
	fmt.Println("Hello, fmt")
	log.Println("Hello, log")
}
// Hello, fmt
// 2024/03/07 22:25:23 Hello, log

logの方は日時のデータが付与された。

使い方はよくわかないけど、ひとまず整理はできたので良しとする。