Golang型 チート

#fmt.printf

| カテゴリ          | フォーマット | 説明                                                        |
|---------------|--------|-----------------------------------------------------------|
| 汎用            | %v     | デフォルトフォーマットを適用した値<br>構造体を出力する際、+フラグ(%+v)を加えるとフィールド名が表示される |
|               | %#v    | この値をGo言語の構文で表現する                                          |
|               | %T     | この値の型をGo言語の構文で表現する                                        |
| 論理値           | %t     | 単語、trueまたはfalse                                           |
| 整数            | %b     | 基数2                                                       |
|               | %c     | 対応するUnicodeコードポイントによって表される文字                              |
|               | %d     | 基数10                                                      |
|               | %o     | 基数8                                                       |
|               | %x     | 基数16、10以上の数には小文字(a-f)を使用                                  |
|               | %X     | 基数16、10以上の数には大文字(A-F)を使用                                  |
|               | %U     | ユニコードフォーマット: U+1234; "U+%x"と同じ。デフォルトは、4桁                  |
| 浮動小数と複素数      | %e     | 科学的記数法、例: -1234.456e+78                                   |
|               | %E     | 科学的記数法、例: -1234.456E+78                                   |
|               | %f     | 指数なしの小数、例: 123.456                                        |
|               | %g     | %e、%fのどちらか出力の短い方                                          |
|               | %G     | %E、%fのどちらか出力の短い方                                          |
| 文字列とバイト型のスライス | %s     | 文字列またはスライスそのまま                                            |
|               | %q     | Go言語の構文に従いダブルクォート形式でエスケープ                                 |
|               | %x     | 各バイトを2文字の16進数文字列として                                       |
| ポインタ          | %p     | 16進数文字列、先頭に0x                                             |


#基本型
| カテゴリ | フォーマット | 説明 |
| --- | --- | --- |
| 数値 | uint8 | 符号なし  8-ビット 整数 (0 to 255) |
|  | uint16 | 符号なし 16-ビット 整数 (0 to 65535) |
|  | uint32 | 符号なし 32-ビット 整数 (0 to 4294967295) |
|  | uint64 | 符号なし 64-ビット 整数 (0 to 18446744073709551615) |
|  | int8 | 符号あり  8-ビット 整数 (-128 to 127) |
|  | int16 | 符号あり 16-ビット 整数 (-32768 to 32767) |
|  | int32 | 符号あり 32-ビット 整数 (-2147483648 to 2147483647) |
|  | int64 | 符号あり 64-ビット 整数 (-9223372036854775808 to 9223372036854775807) |
|  | float32 | IEEE-754 32-ビット 浮動小数値 |
|  | float64 | IEEE-754 64-ビット 浮動小数値 |
|  | complex64 | float32の実数部と虚数部を持つ複素数 |
|  | complex128 | float64の実数部と虚数部を持つ複素数 |
|  | byte | uint8の別名(エイリアス) |
|  | rune | int32の別名(エイリアス) |
| 論理値 | bool |  |
| 文字列 | string |  |

#gopkg.in/guregu/null
| カテゴリ | フォーマット | 説明 |
| --- | --- | --- |
| 数値 | null.Int| |
|  | null.Float|  |
|時刻  | null.Time|  |
| 論理値 | null.Bool|  |
| 文字列 | null.String|  |

#データ構造によるバリエーション(複合型)
※hogeに型名を入れる。
※基本型の指定は例。

| 構造 | 宣言例 |
| --- | --- |
| 配列 | type hoge [3]int |
| スライス | type hoge []int |
| マップ | type hoge map[string]int |
| 構造体 | type hoge struct{} |
| ポインタ | type *hoge *int |

#特殊な型
| 型名 | 宣言例 |
| --- | --- |
| 関数 | type hoge func(int) int |
| インターフェース | type hoger interface {<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;hoge() string<br>}|

#チャネル
| 型 | 作成 |
| --- | --- |
| チャネル | c := make(chan int, 10) |