8分钟
3.3.2.3 int型变量
所有的整数类型均有类似的定义的方式,比较大的差异是整数类型的内存大小和整数是否是有符号。下面是声明的int32和uint32类型变量:
var int32Value int32
var uint32Value uint32
在Go语言中声明的变量不能含有初始化语句。然后下面是amd64环境的汇编定义:
GLOBL ·int32Value(SB),$4
DATA ·int32Value+0(SB)/1,$0x01 // 第0字节
DATA ·int32Value+1(SB)/1,$0x02 // 第1字节
DATA ·int32Value+2(SB)/2,$0x03 // 第3-4字节
GLOBL ·uint32Value(SB),$4
DATA ·uint32Value(SB)/4,$0x01020304 // 第1-4字节
汇编定义变量时初始化数据并不区分整数是否有符号。只有在CPU指令处理该寄存器数据时,才会根据指令的类型来取分数据的类型或者是否带有符号位。
学员评价