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