三、Go语法基础(数据类型)

41 阅读2分钟

Golang中文学习文档地址

1、布尔类型

  • 布尔值只有真(true)值和假值(false)。

    类型描述
    booltrue为真值,false为假值

2、整型

  • Go中的整型分为无符号整型有符号整型
序号类型和描述
uint8无符号 8 位整型
uint16无符号 16 位整型
uint32无符号 32 位整型
uint64无符号 64 位整型
int8有符号 8 位整型
int16有符号 16 位整型
int32有符号 32 位整型
int64有符号 64位整型
uint无符号整型 至少 32 位
int整型 至少 32 位
uintptr等价于无符号 64 位整型,但是专用于存放指针运算,用于存放死的指针地址。

3、浮点型

  • 主要分为单精度浮点数和双精度浮点数
类型类型和描述
float3232 位浮点数
float6464 位浮点数

4、复数类型

类型描述
complex12864 位实数和虚数
complex6432 位实数和虚数

5、字符类型

  • go 语言字符串完全兼容 UTF-8。
类型描述
byte等价 uint8 可以表达 ANSCII 字符
rune等价 int32 可以表达 Unicode 字符
string字符串即字节序列,可以转换为[]byte类型即字节切片

6、派生类型

类型例子
数组[5]int,长度为 5 的整型数组
切片[]float64,64 位浮点数切片
映射表map[string]int,键为字符串类型,值为整型的映射表
结构体type Gopher struct{},Gopher 结构体
指针*int,一个整型指针。
函数type f func(),一个没有参数,没有返回值的函数类型
接口type Gopher interface{},Gopher 接口
通道chan int,整型通道

7、零值

类型零值
数字类型0
布尔类型false
字符串类型""
数组固定长度的对应类型的零值集合
结构体内部字段都是零值的结构体
切片,映射表,函数,接口,通道,指针nil

8、nil

  • nil类似于其它语言中的none或者null。

  • 源码中,nil只是一个类型:

    var nil Type