小册描述
目录
- 复杂数据类型
- 值类型和指针类型
- 值类型和指针类型的存储结构
- 为什么要区分值类型和指针类型
- 关于引用类型
- slice(切片)的使用及实现原理
- 切片如何实现大小可变
- 切片的声明和定义
- 切片长度的扩展
- 切片容量的扩展
- 切片参数的复制
- 利用数组创建切片
- 利用切片创建切片
- 切片元素的修改
- 切片的循环处理
- 切片索引越界
- 总结切片操作的底层原理
- map(映射)的使用及实现原理
- 声明和创建map
- 遍历map中的元素
- 元素查找与避免二义性
- 删除元素
- map的存储结构解析
- map元素的定位原理解析
- map的容量扩展原理解析
- channel(通道)的使用及实现原理
- channel的使用
- channel的实现原理
- channel与消息队列、协程通信的对比
- 自定义结构体
- 自定义数据类型和自定义结构体
- 自定义结构体的使用
- 利用new创建实例
- 从自定义结构体看访问权限控制
- 自描述的访问权限
- 编程范例——结构体使用实例
- 利用自定义结构体实现bitmap
- 利用timer.Ticker实现定时任务
- 流程控制
- 分支控制
- if语句实现分支控制
- switch语句实现分支控制
- 分支控制的本质是向下跳转
- 避免多层if嵌套的技巧
- 循环控制
- for循环
- for-range循环
- 循环控制的本质是向上跳转
- 循环和递归的区别
- 跳转控制
- goto关键字的使用
- goto的本质是任意跳转
- 编程范例——流程控制的灵活使用
- for循环的误区
- switch-case的灵活使用