学习 Go 语言(Golang)

学习 Go 语言(Golang)

下载地址 https://pan.baidu.com/s/11_sYvRZdpw01u4mbUi4zEA

扫码下面二维码关注公众号回复 100163获取分享码

 

本书目录结构如下:

1 简介

1

官方文档 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1

Hello World . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2

编译和运行代码 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

扫描二维码关注公众号,回复: 12899614 查看本文章

本书使用的设置 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

变量、类型和关键字 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

运算符和内建函数 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

Go 关键字 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8

控制结构 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8

内建函数 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

array、slices 和 map . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14

练习 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19

答案 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21

2 函数

26

作用域 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27

多值返回 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28

命名返回值 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28

延迟代码 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29

变参 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30

函数作为值 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31

回调 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31

恐慌(Panic)和恢复(Recover) . . . . . . . . . . . . . . . . . . . . . . . . . . . 32

练习 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33

答案 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37

3 包

44

标识符 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45

包的文档 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46

测试包 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47

常用的包 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48

练习 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50

答案 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51

4 进阶

54

内存分配 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54

定义自己的类型 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57

转换 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59

组合 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60

练习 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61

答案 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63ii

Chapter: Contents

5 接口

70

方法 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72

接口名字 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73

简短的例子 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73

练习 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78

答案 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79

6 并发

82

更多关于 channel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84

练习 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85

答案 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87

7 通讯

90

io.Reader . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91

一些例子 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91

命令行参数 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92

执行命令 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92

网络 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93

练习 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94

答案 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97

A 版权

106

贡献者 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106

许可证和版权 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107

B 索引

108

C Bibliography

110

List of Exercises

1 (0) For-loop . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19

2 (0) FizzBuzz . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19

3 (1) 字符串 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19

4 (1) 平均值 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19

5 (0) 平均值 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33

6 (0) 整数顺序 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33

7 (1) 作用域 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33

8 (1) 栈 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33

9 (1) 变参 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34

10 (1) 斐波那契 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34

11 (1) map 函数 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34

12 (0) 最小值和最大值 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34

13 (1) 冒泡排序 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34

14 (1) 函数返回一个函数 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35

15 (0) stack 包 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50

16 (2) 计算器 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50List of Exercises

iii

17 (1) 指针运算 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61

18 (2) 使用 interface 的 map 函数 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61

19 (1) 指针 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61

20 (1) Linked List . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61

21 (1) Cat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61

22 (2) 方法调用 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62

23 (1) 接口和编译 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78

24 (1) 指针和反射 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78

25 (2) 接口和 max() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78

26 (1) Channel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85

27 (2) 斐波那契 II . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85

28 (2) 进程 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94

29 (0) 单词和字母统计 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95

30 (0) Uniq . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95

31 (2) Quine . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95

32 (1) Echo 服务 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95

33 (2) 数字游戏 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95

34 (1) *Finger 守护进程 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96

 

猜你喜欢

转载自blog.csdn.net/yusongcao7/article/details/109568569