Go基本类型和字面量
Go基本类型
基本类型和字面量的关系
类型(type)可以看作是值(value)的模板, 值可以看作是类型的实例。
基本内置类型
Go支持如下基本类型:
- 布尔类型:
bool - 整数类型:
int8,uint8,int16,uint16,int32,uint32,int64,uint64,int,uint和uintptr。 - 浮点类型:
float32和float64。 - 复数类型:
complex64和complex128。 - 字符串类型:
string。
其中Go有两种内置类型别名(type alias): byte是uint8的内置别名。我们可以将byte和uint8看作同一个类型。rune是int32的内置别名。我们可以将rune和6int32看作同一个类型。
以u开头的整数类型都是无符号整数类型。 无符号整数类型的值都是非负的。
一个complex64复数值得实部和虚部都是float32类型得值。一个complex128复数值得实部和虚部都是float64类型得值。
uintptr、int和uinit类型得值得尺寸依赖具体编辑器实现。通常在64位架构上,int和uint类型得值是64位得;在32位架构上, 他们是32位得。 编辑器必须保证uintptr类型的值能够存下任意一个内存地址。
零值
每一个类型都有一个零值。一个类型的零值可看作是类型的默认值。
- 一个布尔类型的零值是真假中的假。
- 数值类型的零值都是零。
- 字符串类型的零值是一个空字符串。
基本类型的字面表示形式
布尔类型字面量形式
我们可将false和true这两个预声明常量当作布尔类型的字面量形式。
整数类型值字面量形式
整数类型有四种字面量形式: 十进制、八进制、十六进制和二进制。其中十六进制必须使用(0x或0X开头),八进制必须使用(0、0o或者0O开头), 二进制表示必须(使用0b或者0B开头),十进制必须不能用0开头。
浮点数类型值字面量形式
一个浮点数字面量形式可能包括一个十进制整数部分、小数点、一个十进制小数部分和一个以10为底得整数指数部分。整数指数部分有字母e或者E带一个十进制整数字面量组成(xEn表示x乘以10^n的意思, 而xE-n表示x除以10^n的意思)。

浙公网安备 33010602011771号