🖨️
fmtのprintの種類、多くね?って方向けの覚え方
fmtのprintの種類、多くね?
Goの初心者だったとき、fmt
パッケージの出力系関数の種類が多くない?って思ってました。
fmt.Println("hello world")
s := fmt.SPrintf("%v", "hello world")
fmt.Fprintf(os.Stdout, "%v", "hello world")
が、以下の全体像さえ抑えれば、覚える量を減らせることに気付きました。
Print, Sprint, Fprintの違い
どこに出力するか。
- Print: 標準出力
- Sprint: 文字列を返す。Stringの略。
- Fprint: io.Writerに書き込む。Fileの略。
Print, Println, Printfの違い
どのように出力するか。
- Print: 空白を挟んで出力
- Println: 改行を挟んで出力。Lineの略。
- Printf: フォーマットを指定して出力。Formatの略。
つまり表で書くとこうなる
標準出力 | 文字列を返す | io.Writerに書き込む | |
---|---|---|---|
空白を挟んで出力 | Sprint | Fprint | |
改行を挟んで出力 | Println | Sprintln | Fprintln |
フォーマットを指定して出力 | Printf | Sprintf | Fprintf |
Discussion