Open1
Golangの型

Goの型
論理値型
- 論理値を表す型
- true、falseの何か
var a bool
a = true
// 型推論
b := false
数値型
- 多数の数値型が用意されている
整数型
型 | サイズ | 符号 | 最小値 | 最大値 |
---|---|---|---|---|
int8 | 8ビット | あり | -128 | 127 |
int16 | 16ビット | あり | -32768 | 32767 |
int32 | 32ビット | あり | -2147483648 | 217483647 |
int64 | 64ビット | あり | -9223372036854775808 | 9223372036854775807 |
uint8(byte) | 8ビット | なし | 0 | 255 |
uint16 | 16ビット | なし | 0 | 65535 |
uint32 | 32ビット | なし | 0 | 4294967295 |
uint64 | 64ビット | なし | 0 | 18446744073709551615 |
実装依存の整数型
型 | 32ビット実装 | 64ビット実装 | 符号 |
---|---|---|---|
int | 32ビット | 64ビット | あり |
uint | 32ビット | 64ビット | なし |
uintptr | ? | ? | なし |
uintptr
- ポインタの値をそのまま格納するのに十分な大きさの符号なし整数
- CPU、OSによってメモリのアドレスのサイズが様々あるため、上の仕様になっている
実装依存整数の注意点
- intからint64に代入はできない
- 64ビット実装のGoから32ビット実装のGoでコンパイルしようとするとエラーになることがある
- 暗黙な型変換をGoは一切許さない
var (
n1 int
n2 int64
)
n1 = 1
n2 = n1 // intをint64へ代入できないのでエラーになる