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=文字列)