Open1

Golangの型

hirominahiromina

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へ代入できないのでエラーになる