小册描述
目录
- 函数
- 函数在Go语言中的地位
- Go语言中函数和方法的区别
- 重新理解变量声明中数据类型出现的位置
- 函数的定义
- 函数的参数
- 函数的返回值
- 函数多返回值的实现原理
- 函数的管理——模块和包
- 函数管理形式
- 模块与文件夹
- 本地包管理
- 模块名与文件夹名称
- 代码规范的意义
- 函数的调用和执行
- 包的别名与函数调用
- init()函数与隐式执行顺序
- 利用init()函数执行初始化
- 利用匿名包实现函数导入
- 将函数作为变量使用
- 将函数赋值给变量
- 函数赋值给变量的应用场景
- 匿名函数和闭包
- 为什么需要匿名函数
- 闭包
- 函数的强制转换
- 从数据类型的定义到函数类型的定义
- 从数据类型的强制转换到函数类型的强制转换
- 函数类型及强制转换的意义
- 利用强制转换为函数绑定方法
- 编程范例——闭包的使用
- 闭包封装变量的真正含义
- 利用指针修改闭包外部的变量
- 异常处理
- 异常机制的意义
- Go语言中的异常
- 创建异常
- 抛出异常
- 自定义异常
- 异常捕获
- 利用延迟执行机制来捕获异常
- 在上层调用者中捕获异常
- 异常捕获的限制条件
- 异常捕获后的资源清理
- 未正常释放锁对象带来的副作用
- 确保锁对象释放的正确方式
- 编程范例——异常的使用及误区
- 利用结构体自定义异常
- 未成功捕获异常,导致程序崩溃