整数类型有无符号和带符号两种。Go同时支持int
和uint
,这两种类型的长度相同,但具体长度取决于不同编译器的实现。~~当前的gcc和gccgo编译器在32位和64位平台上都使用32位来表示int
和uint
,但未来在64位平台上可能增加到64位~~。Go里面也有直接定义好位数的类型:rune
, int8
, int16
, int32
, int64
和byte
, uint8
, uint16
, uint32
, uint64
。其中rune
是int32
的别称,byte
是uint8
的别称。
需要注意的一点是,这些类型的变量之间不允许互相赋值或操作,不然会在编译时引起编译器报错。
如下的代码会产生错误
var a int8
var b int32
c:=a + b
另外,尽管int的长度是32 bit, 但int 与 int32并不可以互用。
浮点数的类型有float32
和float64
两种(没有float
类型),默认是float64
。
这就是全部吗?No!Go还支持复数。它的默认类型是complex128
(64位实数+64位虚数)。如果需要小一些的,也有complex64
(32位实数+32位虚数)。复数的形式为RE + IMi
,其中RE
是实数部分,IM
是虚数部分,而最后的i
是虚数单位。下面是一个使用复数的例子:
var c complex64 = 5+5i
//output: (5+5i)
fmt.Printf("Value is: %v", c)
有疑问加站长微信联系(非本文作者)