更新时间:2024-12-24 10:24:30
封面
版权页
作者简介
内容简介
前言
第1章 第一个Go程序
1.1 搭建开发环境
1.2 一个简单的Go程序
1.3 环境变量说明
1.4 在IDE中运行Go语言程序
1.5 Go语言如何实现跨平台
1.6 探寻Go语言程序的编译执行过程
1.7 编程范例——启动参数的使用
1.8 本章小结
第2章 变量与常量
2.1 变量
2.2 常量
2.3 iota与枚举
2.4 编程范例——iota的使用技巧
2.5 本章小结
第3章 简单数据类型
3.1 整型
3.2 浮点型
3.3 布尔类型
3.4 字符型
3.5 字符串类型
3.6 数组类型
3.7 编程范例——原义字符的使用
3.8 本章小结
第4章 复杂数据类型
4.1 值类型和指针类型
4.2 slice(切片)的使用及实现原理
4.3 map(映射)的使用及实现原理
4.4 channel(通道)的使用及实现原理
4.5 自定义结构体
4.6 编程范例——结构体使用实例
4.7 本章小结
第5章 流程控制
5.1 分支控制
5.2 循环控制
5.3 跳转控制
5.4 编程范例——流程控制的灵活使用
5.5 本章小结
第6章 函数
6.1 函数在Go语言中的地位
6.2 函数的定义
6.3 函数的管理——模块和包
6.4 函数的调用和执行
6.5 将函数作为变量使用
6.6 匿名函数和闭包
6.7 函数的强制转换
6.8 编程范例——闭包的使用
6.9 本章小结
第7章 异常处理
7.1 异常机制的意义
7.2 Go语言中的异常
7.3 异常捕获
7.4 异常捕获后的资源清理
7.5 编程范例——异常的使用及误区
7.6 本章小结
第8章 Go语言的面向对象编程
8.1 面向对象编程的本质
8.2 Go语言实现封装
8.3 Go语言实现继承
8.4 Go语言实现多态
8.5 面向接口编程
8.6 编程范例——接口的典型应用
8.7 本章小结
第9章 并发
9.1 线程的概念
9.2 线程模型
9.3 协程的工作原理
9.4 Go语言中的协程同步
9.5 利用channel实现协程同步
9.6 让出时间片
9.7 Go语言中的单例
9.8 编程范例——协程池及协程中断
9.9 本章小结
第10章 上下文
10.1 上下文和普通参数的区别
10.2 上下文树
10.3 利用valueCtx实现信息透传
10.4 利用cancelCtx通知协程终止执行
10.5 利用timerCtx实现定时取消
10.6 编程范例——上下文的典型应用场景
10.7 本章小结
第11章 反射
11.1 反射的意义
11.2 反射的API
11.3 值信息
11.4 编程范例——动态方法调用
11.5 本章小结
第12章 泛型
12.1 泛型的意义
12.2 泛型应用到函数
12.3 泛型导致接口定义的变化
12.4 泛型类型应用到receiver
12.5 编程范例——自定义队列的实现
12.6 本章小结
第13章 I/O