2 目 录
2.7 完整示例
....................................................
50
2.7.1 程序结构
........................................
51
2.7.2 主程序
............................................
51
2.7.3 算法实现
........................................
54
2.7.4 主程序
............................................
57
2.7.5 构建与执行
....................................
59
2.8 小结
............................................................
61
第 3 章 面向对象编程
.....................................
62
3.1 类型系统
....................................................
62
3.1.1 为类型添加方法
.............................
63
3.1.2 值语义和引用语义
.........................
66
3.1.3 结构体
............................................
67
3.2 初始化
........................................................
68
3.3 匿名组合
....................................................
68
3.4 可见性
........................................................
71
3.5 接口
............................................................
71
3.5.1 其他语言的接口
.............................
71
3.5.2 非侵入式接口
................................
73
3.5.3 接口赋值
........................................
74
3.5.4 接口查询
........................................
76
3.5.5 类型查询
........................................
78
3.5.6 接口组合
........................................
78
3.5.7
Any
类型
........................................
79
3.6 完整示例
....................................................
79
3.6.1 音乐库
............................................
80
3.6.2 音乐播放
........................................
82
3.6.3 主程序
............................................
84
3.6.4 构建运行
........................................
86
3.6.5 遗留问题
........................................
86
3.7 小结
............................................................
87
第 4 章 并发编程
..............................................
88
4.1 并发基础
....................................................
88
4.2 协程
............................................................
90
4.3 goroutine
.....................................................
90
4.4 并发通信
....................................................
91
4.5 channel
........................................................
94
4.5.1 基本语法
........................................
95
4.5.2
select
...........................................
95
4.5.3 缓冲机制
........................................
96
4.5.4 超时机制
........................................
97
4.5.5 channel 的传递
...............................
98
4.5.6 单向channel
...................................
98
4.5.7 关闭channel
...................................
99
4.6 多核并行化
..............................................
100
4.7 出让时间片
..............................................
101
4.8 同步
..........................................................
101
4.8.1 同步锁
..........................................
101
4.8.2 全局唯一性操作
...........................
102
4.9 完整示例
..................................................
103
4.9.1 简单IPC 框架
..............................
105
4.9.2 中央服务器
..................................
108
4.9.3 主程序
..........................................
113
4.9.4 运行程序
......................................
116
4.10 小结
........................................................
117
第 5 章 网络编程
............................................
118
5.1 Socket 编程
...............................................
118
5.1.1
Dial()
函数
.................................
118
5.1.2 ICMP 示例程序
............................
119
5.1.3 TCP 示例程序
..............................
121
5.1.4 更丰富的网络通信
.......................
122
5.2 HTTP 编程
................................................
124
5.2.1 HTTP 客户端
................................
124
5.2.2 HTTP 服务端
................................
130
5.3 RPC 编程
..................................................
132
5.3.1 Go 语言中的 RPC 支持与
处理
..............................................
132
5.3.2 Gob 简介
.......................................
134
5.3.3 设计优雅的 RPC 接口
.................
134
5.4 JSON 处理
................................................
135
5.4.1 编码为 JSON 格式
.......................
136
5.4.2 解码JSON 数据
...........................
137
5.4.3 解码未知结构的 JSON 数据
.......
138
5.4.4 JSON 的流式读写
........................
140
5.5 网站开发
..................................................
140
5.5.1 最简单的网站程序
.......................
141
5.5.2
net/http
包简介
.......................
141
5.5.3 开发一个简单的相册网站
...........
142
图灵社区会员 soooldier(soooldier@live.com) 专享 尊重版权