0
0

初心者向け!fmt.Printfで覚えておきたいフォーマット指定のやり方

Posted at

fmt.Printfでよく使われるもの一覧

文字列

verb 内容
%s 文字列
%q エスケープされた文字列

var s1 = "文字列"

fmt.Printf("%s\n", s1) // 文字列

s2 := `バッククオートを使った、改行や
    タブが入った
        文字列`

fmt.Printf("%s\n", s2)  // そのまま表示
fmt.Printf("%q\n", s2)  // バッククオートを使った、改行や\n\tタブが入った\n\t\t文字列  

整数

verb 内容
%d 整数
%b 2進数
%o 8進数
%x 16進数(小文字のa-f)
%X 16進数(大文字のA-F)

var i = 254
fmt.Printf("%d %b %o %x %X\n", i, i, i, i, i)  // 254 11111110 376 fe FE

小数点

verb 内容
%f, %F 小数点あり、指数なし、例:123.456
%e 指数標記、-1.234456e+78
%E 指数標記、-1.234456E+78

var f = 3.14159265358
fmt.Printf("%f %F %e %E\n", f, f, f, f) // 3.141593 3.141593 3.141593e+00 3.141593E+00

その他

verb 内容
%v デフォルト形式の値で出力
%+v 構造体のフィールド名も出力
%#v Goのリテラル表現で出力
%T 値の型情報を出力
%% 「%」そのものを出力

fmt.Printf("v: %v  %v  %v\n", s1, i, f) // 文字列 254 3.14159265358
fmt.Printf("T: %T  %T  %T\n", s1, i, f) // string int float64
fmt.Printf("「%%%%」で「%%」をひとつ出力\n") // 「%%」で「%」をひとつ出力

間違って指定した場合

%!fなのように「!」が表示される

fmt.Printf("%%fでs1を指定: %f\n", s1) // %fでs1を指定: %!f(string=文字列)

参考文献

公式ドキュメント
初めてのGo

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0