Go の型

Go のデータ型

bool                        真偽値
int8/int16/int32/int64      n ビット整数
uint8/uint16/uint32/uint64  n ビット符号なし整数
float32/float64             n ビット浮動小数点数
complex64/complex128        n ビット複素数
byte                        1 バイトデータuint8 と同一
rune                        1 文字int32 と同一
uint                        uint32 または uint64
int                         int32 または int64
uintptr                     ポインターを表現できる符号なし整数
string                      文字列

次のように名前付き型を定義できる。異なる名前付き型の値は直接代入できない。

type UtcTime string
type KstTime string
var t1 UtcTime = "00:00:00"
var t2 KstTime = "09:00:00"
t1 = t2 // 型が異なるため代入エラー

複数の型はまとめて定義できる。

type (
    UtcTime string
    KstTime string
)

型変換

変換先の型に続けて括弧を書くことで値を変換できる。

var a1 uint16 = 1234
var a2 uint32 = uint32(a1)

リテラル値

nil     値がないことを表す特別な値
true    
false   
1234    整数
1_234   "_" 区切りの整数"_" は無視される
0777    8 進数
0o755   8 進数0O も使用可能
0x89ab  16 進数0X も使用可能
0b1111  2 進数0B も使用可能
123.4   小数
1.23e4  浮動小数点数1.23E4 も使用可能
1.23i   複素数
"ABC"   文字列
'A'     文字 (rune)