基础类型

基本类型

数值类型

整数类型有无符号和带符号两种。Go 同时支持intuint,这两种类型的长度相同,但具体长度取决于不同编译器的实现。Go 里面也有直接定义好位数的类型:rune, int8, int16, int32, int64byte, uint8, uint16, uint32, uint64。其中runeint32的别称,byteuint8的别称。

需要注意的一点是,这些类型的变量之间不允许互相赋值或操作,不然会在编译时引起编译器报错。如下的代码会产生错误:invalid operation: a + b (mismatched types int8 and int32)

var a int8
var b int32
c:=a + b

另外,尽管 int 的长度是 32 bit, 但 int 与 int32 并不可以互用。浮点数的类型有float32float64两种(没有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)

布尔类型

在 Go 中,布尔值的类型为 bool,值是 truefalse,默认为false

//示例代码
var isActive bool // 全局变量声明
var enabled, disabled = true, false // 忽略类型的声明
func test() {
  var available bool // 一般声明
  valid := false // 简短声明
  available = true // 赋值操作
}
上一页
下一页