- Go 语言中的数据类型
bool
string // var a1 string 定义时不赋值默认为“”, 在做比较时要用a1 == ""
int int8 int16 int32 int64
uint uint8 uint16 uint32 uint64
byte //其实就是uint8
rune //其实就是int32
float32 float64
complex64 complex128
- Go 语言中的类型转化
不存在隐式类型转换,包括类型别名转同一个类型。ps: go 中可以用 type 别名 类型 来定义类型别名。
如果想要转换类型,必须用显示的类型转化 如
var a int = 12
var b int32 = 13
a = (int)b
- Go语言中的指针类型
go 语言中不允许对指针进行运算
var a2 int = 12
a2Ptr:=&a2
a2Ptr = a2Ptr+1 //Error not allowed
- Go语言中的运算符
go 语言中的运算符和C/C++语言中的运算符大同小异,不同之处有如下几点
①go语言中没有前置++,-- 运算符
②用 == 可以比较数组,并且只有在数组含有相同个数元素的时候才可以比较,每个元素都相同的时候才相等。
③go语言中有个按位清零运算符 &^
var a int = 1
a = a &^ 1 //会将a的第一位清零