一、内置类型
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 //固定长度的数组
2、引用类型:(指针类型)
slice // 序列数组(最常用)
map // 映射
chan // 管道
二、内置函数
- Go 语言拥有一些不需要进行导入操作就可以使用的内置函数
- 它们有时可以针对不同的类型进行操作,例如:len、cap和 append,或必须用于系统级的操作,例如:panic
- 因此,它们需要直接获取编译器的支持
append // 用来追加元素到数组、slice 中,返回修改后的数组、slice
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、printIn //底层打印函数,在部署环境中建议使用 fmt 包
三、基本类型介绍
类型 | 长度 | 默认值 | 说明 |
bool | 1 | false | |
byte | 1 | 0 | unit8 |
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 | 函数 |