Go基本类型概述
概念:基本类型(basic type)
- 内置字符串类型:
string
- 内置布尔类型:
bool
- 内置数值类型:
int8
、uint8(byte)
、int16
、uint16
、int32(rune)
、uint32
、int64
、int
、uint
、uintptr
float32
、float64
complex64
、complex128
注意,byte
是uint8
的一个内置别名,rune
是int32
的一个内置别名。
概念:组合类型(composite type)
Go支持下列组合类型:
- 指针类型 - 类C指针
- 结构体类型 - 类C结构体
- 函数类型 - 函数类型在Go
- 容器类型,包括:
- 数组类型 - 定长容器类型
- 切片类型 - 动态长度和容量容器类型
- 映射类型(map) - 也常称为字典类型。在标准编译器中映射是使用哈希表实现的
- 通道类型 - 通道用来同步并发的协程
- 接口类型 - 接口在反射和多态中发挥着重要角色
组合类型可以用它们各自的字面表示形式来表示。下面是一些各种不同类型的组合类型字面表示形式的例子:
// 假设T为任意一个类型,Tkey为一个支持比较的类型
*T // 一个指针类型
[5]T // 一个元素类型为T、元素个数为5的数组类型
[]5 // 一个元素类型为T的切片类型
map[Tkey]T // 一个键值类型为Tkey、元素类型为T的映射类型
// 一个结构体类型
struct {
name string
age int