在 golang 中整数分为 8位 16位 32位和64位有符号整型和无符号整型
int8 占用1个字节 -128~127
int16 占用2个字节 -32768~32767
int32 占用4个字节 -2147483648~2147483647
int64 占用8个字节 -9223372036854775808~9223372036854775807
uint8 占用1一个字节 0~255
uint16 占用2个字节 0~65535
uint32 占用4个字节 0~4294967295
uint64 占用8个字节 0~18446744073709551615
int在32位系统上是4个字节
int在64位系统上是8个字节
int32在哪都是4字节
int64在哪都是8字节
package main
import "unsafe"
func main() {
var a int8 = 10
var b int16 = 20
// 转换时建议低转高
println(int16(a) + b)
println(unsafe.Sizeof(a))
}