🏄♂️
Go言語 実装依存の整数型について
Go言語の整数型について
Go言語では明確にビット数を定義している整数型(int8、int32、uint64など)と、実装に依存する整数型(int、uintなど)を用意している。
実装依存の整数型
Go言語は「32ビット実装」と「64ビット実装」の2種類があり、実装依存の整数は、それぞれ32ビット整数または64ビット整数としてコンパイルされる。
「32ビット実装」か「64ビット実装」になるかは、実行環境に依存する。CPUアーキテクチャが32ビットの場合は、「32ビット実装」、CPUアーキテクチャが64ビットの場合は「64ビット実装」となる。
現在の主流のCPUはほぼ64ビットだが、古いPCや組み込みシステムでは32ビットCPUが使われていることもある。
実装依存の整数型の注意点
32ビットで扱える最大の整数を代入した場合、「64ビット実装」のGoでは問題ないが、「32ビット実装」のGoでコンパイルしようとするとコンパイルエラーが発生する。
そのため、32ビットを超える整数を扱う場合は、明示的にビット数を指定するのが望ましい。
Discussion