《Go语言程序设计》PDF下载

  • 购买积分:13 如何计算积分?
  • 作  者:(美)萨默菲尔德著
  • 出 版 社:北京:人民邮电出版社
  • 出版年份:2013
  • ISBN:9787115317902
  • 页数:354 页
图书介绍:本书既是一本实用的Go语言教程,又是一本权威的Go语言参考手册。书中从如何获取和安装Go语言环境,以及如何建立和运行Go程序开始,逐步介绍了Go语言的语法、特性以及一些标准库,内置数据类型、语句和控制结构,然后讲解了如何在Go语言中进行面向对象编程,Go语言的并发特性,如何导入和使用标准库包、自定义包及第三方软件包,提供了评价Go语言、以Go语言思考以及用Go语言编写高性能软件所需的所有知识。

第1章 5个例子 1

1.1开始 1

1.2编辑、编译和运行 3

1.3 Hello Who? 6

1.4大数字——二维切片 8

1.5栈——自定义类型及其方法 12

1.6 americanise示例——文件、映射和闭包 18

1.7从极坐标到笛卡儿坐标——并发 28

1.8练习 33

第2章 布尔与数值类型 35

2.1基础 35

2.2布尔值和布尔表达式 39

2.3数值类型 40

2.3.1整型 42

2.3.2浮点类型 46

2.4例子:statistics 53

2.4.1实现一个简单的统计函数 54

2.4.2实现一个基本的HTTP服务器 55

2.5练习 58

第3章 字符串 60

3.1字面量、操作符和转义 61

3.2比较字符串 63

3.3字符和字符串 65

3.4字符串索引与切片 67

3.5使用fmt包来格式化字符串 69

3.5.1格式化布尔值 73

3.5.2格式化整数 74

3.5.3格式化字符 75

3.5.4格式化浮点数 75

3.5.5格式化字符串和切片 76

3.5.6为调试格式化 78

3.6其他字符处理相关的包 80

3.6.1 strings包 81

3.6.2 strconv包 86

3.6.3 utf8包 90

3.6.4 unicode包 91

3.6.5 regexp包 92

3.7例子:m3u2pls 101

3.8练习 106

第4章 集合类型 108

4.1值、指针和引用类型 108

4.2数组和切片 115

4.2.1索引与分割切片 119

4.2.2遍历切片 119

4.2.3修改切片 121

4.2.4排序和搜索切片 125

4.3映射 128

4.3.1创建和填充映射 129

4.3.2映射查询 131

4.3.3修改映射 132

4.3.4键序遍历映射 132

4.3.5映射反转 133

4.4例子 134

4.4.1猜测分隔符 134

4.4.2词频统计 136

4.5练习 141

第5章 过程式编程 144

5.1语句基础 144

5.1.1类型转换 147

5.1.2类型断言 148

5.2分支 149

5.2.1 if语句 150

5.2.2 switch语句 151

5.3 for循环语句 158

5.4通信和并发语句 160

5.5 defer、 panic和recover 166

5.6自定义函数 171

5.6.1函数参数 172

5.6.2 i n it()函数和main ()函数 175

5.6.3闭包 176

5.6.4递归函数 178

5.6.5运行时选择函数 181

5.6.6泛型函数 183

5.6.7高阶函数 187

5.7例子:缩进排序 192

5.8练习 197

第6章 面向对象编程 199

6.1几个关键概念 199

6.2自定义类型 201

6.2.1添加方法 203

6.2.2验证类型 207

6.3接口 209

6.4结构体 217

6.5例子 224

6.5.1 FuzzyBool——一个单值自定义类型 224

6.5.2 Shapes——一系列自定义类型 229

6.5.3有序映射——一个通用的集合类型 240

6.6练习 248

第7章 并发编程 251

7.1关键概念 252

7.2例子 256

7.2.1过滤器 256

7.2.2并发的Grep 260

7.2.3线程安全的映射 266

7.2.4 Apache报告 271

7.2.5查找副本 278

7.3练习 285

第8章 文件处理 287

8.1自定义数据文件 287

8.1.1处理JSON文件 290

8.1.2处理XML文件 295

8.1.3处理纯文本文件 301

8.1.4处理Go语言二进制文件 307

8.1.5处理自定义的二进制文件 309

8.2归档文件 317

8.2.1创建zip归档文件 317

8.2.2创建可压缩的tar包 319

8.2.3解开zip归档文件 321

8.2.4解开tar归档文件 322

8.3练习 324

第9章 包 326

9.1自定义包 326

9.1.1创建自定义的包 327

9.1.2导入包 333

9.2第三方包 334

9.3 Go命令行工具简介 335

9.4 Go标准库简介 336

9.4.1归档和压缩包 336

9.4.2字节流和字符串相关的包 336

9.4.3容器包 337

9.4.4文件和操作系统相关的包 339

9.4.5图像处理相关的包 341

9.4.6数学处理包 341

9.4.7其他一些包 341

9.4.8网络包 342

9.4.9反射包 343

9.5练习 346

附录A后记 348

附录B软件专利的危害 350

附录C精选书目 353