This entry is 第 2 部分,共 3 in the series Go(Golang)学习之路
Table of Contents
Toggle1. 内置类型
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 | 函数 |