1. 内置类型
1.1 值类型
bool
int(32 or 64), int8, int16, int32, int64
uint(32 or 64), uint8(byte), uint16, uint32, uint64 float32, float64
string
complex64, complex128
array // 固定长度的数组
1.2 引用类型(指针类型)
slice // 序列数组(最常用)
map // 映射
chan // 管道
2. 内置函数
- Go语言拥有一些不需要进行导入操作就可以使用的内置函数;
- 它们有时可以针对不同的类型进行操作,例如:len、cap和append,或必须用于系统级的操作,例如:panic;
- 因此,它们需要直接获得编译器的支持。
append // 用来追加元素到数组
close // 主要用来关闭channel
delete // 从map中删除key对应的value
panic // 停止常规的goroutine (panic和recover:用来做错误处理)
recover // 允许程序定义goroutine的panic动作
real // 返回complex的实部 (complex、real imag:用于创建和操作复数)
imag // 返回complex的虚部
make // 用来分配内存,返回Type本身(只能应用于slice, map, channel)
new // 用来分配内存,主要用来分配值类型,比如int、struct。返回指向Type的指针
cap // capacity是容量的意思,用于返回某个类型的最大容量(只能用于切片和 map)
copy // 用于复制和连接slice,返回复制的数目
len // 来求长度,比如string、array、slice、map、channel ,返回长度
print、println // 底层打印函数,在部署环境中建议使用 fmt 包
3. 基本类型介绍
类型 | 长度(字节) | 默认值 | 说明 |
bool | 1 | false | |
byte | 1 | 0 | uint8 |
rune | 4 | 0 | Unicode Code Point,int32 |
int,uint | 4或8 | 0 | 32或64位 |
int8,uint8 | 1 | 0 | -128~127,0~255,byte是uint8的别名 |
int16,uint16 | 2 | 0 | -32768~32767,0~65535 |
int32,uint32 | 4 | 0 | -21亿~21亿,0~42亿,rune是int32的别名 |
int64,uint64 | 8 | 0 | |
float32 | 4 | 0.0 | |
float64 | 8 | 0.0 | |
complex64 | 8 | ||
complex128 | 16 | ||
uintptr | 4或8 | 以存储指针的uint32或uint64整数 | |
array | 值类型 | ||
struct | 值类型 | ||
string | “” | UTF-8字符串 | |
slice | nil | 引用类型 | |
map | nil | 引用类型 | |
channel | nil | 引用类型 | |
interface | nil | 接口 | |
function | nil | 函数 |