forked from ffhelicopter/Go42
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathSUMMARY.md
209 lines (168 loc) · 11 KB
/
SUMMARY.md
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
* ### [前言](README.md)
* ### [第一章 Go安装与运行](content/42_01_install.md)
* [1.1 Go 安装](content/42_01_install.md#11-go安装)
* [1.2 Go 语言开发工具](content/42_01_install.md#12-go语言开发工具)
* ### [第二章 数据类型](content/42_02_datatype.md)
* [2.1 基本数据类型](content/42_02_datatype.md#21-基本数据类型)
* [2.2 Unicode(UTF-8)](content/42_02_datatype.md#22-unicodeutf-8)
* [2.3 复数](content/42_02_datatype.md#23-复数)
* ### [第三章 变量](content/42_03_var.md)
* [3.1 变量以及声明](content/42_03_var.md#31-变量以及声明)
* [3.2 零值nil](content/42_03_var.md#32-零值nil)
* ### [第四章 常量](content/42_04_const.md)
* [4.1 常量以及iota](content/42_04_const.md#41-常量以及iota)
* ### [第五章 作用域](content/42_05_scope.md)
* [5.1 作用域](content/42_05_scope.md#51-作用域)
* ### [第六章 约定和惯例](content/42_06_convention.md)
* [6.1 可见性规则](content/42_06_convention.md#61-可见性规则)
* [6.2 命名规范以及语法惯例](content/42_06_convention.md#62-命名规范以及语法惯例)
* [6.3 注释](content/42_06_convention.md#63-注释)
* ### [第七章 代码结构化](content/42_07_package.md)
* [7.1 包的概念](content/42_07_package.md#71-包的概念)
* [7.2 包的导入](content/42_07_package.md#72-包的导入)
* [7.3 标准包](content/42_07_package.md#73-标准包)
* [7.4 从GitHub安装包](content/42_07_package.md#74-从-github-安装包)
* [7.5 导入外部安装包](content/42_07_package.md#75-导入外部安装包)
* [7.6 包的初始化](content/42_07_package.md#76-包的初始化)
* ### [第八章 Go项目开发与编译](content/42_08_project.md)
* [8.1 项目结构](content/42_08_project.md#81-项目结构)
* [8.2 使用godoc](content/42_08_project.md#82-使用-godoc)
* [8.3 Go程序的编译](content/42_08_project.md#83-go程序的编译)
* ### [第九章 运算符](content/42_09_operator.md)
* [9.1 内置运算符](content/42_09_operator.md#91-内置运算符)
* [9.2 运算符优先级](content/42_09_operator.md#92-运算符优先级)
* [9.3 几个特殊运算符](content/42_09_operator.md#93-几个特殊运算符)
* ### [第十章 string](content/42_10_string.md)
* [10.1 字符串介绍](content/42_10_string.md#101-字符串介绍)
* [10.2 字符串拼接](content/42_10_string.md#102-字符串拼接)
* [10.3 有关string处理](content/42_10_string.md#103-有关string处理)
* ### [第十一章 数组(Array)](content/42_11_array.md)
* [11.1 数组(Array)](content/42_11_array.md#111-数组array)
* ### [第十二章 切片(slice)](content/42_12_slice.md)
* [12.1 切片(slice)](content/42_12_slice.md#121-切片slice)
* [12.2 切片重组(reslice)](content/42_12_slice.md#122-切片重组reslice)
* [12.3 陈旧的(Stale)Slices](content/42_12_slice.md#123-陈旧的切片stale-slices)
* ### [第十三章 字典(Map)](content/42_13_map.md)
* [13.1 字典(Map)](content/42_13_map.md#131-字典map)
* [13.2 range语句中更新引用元素的值](content/42_13_map.md#132-range语句中的值)
* ### [第十四章 流程控制](content/42_14_flow.md)
* [14.1 switch 语句](content/42_14_flow.md#141-switch-语句)
* [14.2 select控制](content/42_14_flow.md#142-select控制)
* [14.3 for循环](content/42_14_flow.md#143-for循环)
* [14.4 for-range 结构](content/42_14_flow.md#144-for-range-结构)
* ### [第十五章 错误处理](content/42_15_errors.md)
* [15.1 错误类型](content/42_15_errors.md#151-错误类型)
* [15.2 panic](content/42_15_errors.md#152-panic)
* [15.3 recover:从 panic 中恢复](content/42_15_errors.md#153-recover从-panic-中恢复)
* [15.4 有关于defer](content/42_15_errors.md#154-有关于defer)
* ### [第十六章 函数](content/42_16_function.md)
* [16.1 函数分类](content/42_16_function.md#161-函数分类)
* [16.2 函数调用](content/42_16_function.md#162-函数调用)
* [16.3 内置函数](content/42_16_function.md#163-内置函数)
* [16.4 递归与回调](content/42_16_function.md#164-递归与回调)
* [16.5 匿名函数](content/42_16_function.md#165-匿名函数)
* [16.6 闭包函数](content/42_16_function.md#166-闭包函数)
* [16.7 变参函数](content/42_16_function.md#167-变参函数)
* ### [第十七章 type关键字](content/42_17_type.md)
* [17.1 type](content/42_17_type.md#171-type)
* ### [第十八章 struct 结构体](content/42_18_struct.md)
* [18.1 结构体(struct)](content/42_18_struct.md#181结构体struct)
* [18.2 结构体特性](content/42_18_struct.md#182-结构体特性)
* [18.3 匿名成员](content/42_18_struct.md#183-匿名成员)
* [18.4 嵌入与聚合](content/42_18_struct.md#184-嵌入与聚合)
* [18.5 命名冲突](content/42_18_struct.md#185-命名冲突)
* ### [第十九章 接口](content/42_19_interface.md)
* [19.1 接口是什么](content/42_19_interface.md#191-接口是什么)
* [19.2 接口嵌套](content/42_19_interface.md#192-接口嵌套)
* [19.3 类型断言](content/42_19_interface.md#193-类型断言)
* [19.4 接口与动态类型](content/42_19_interface.md#194-接口与动态类型)
* [19.5 接口的提取](content/42_19_interface.md#195-接口的提取)
* [19.6 接口的继承](content/42_19_interface.md#196-接口的继承)
* ### [第二十章 方法](content/42_20_method.md)
* [20.1 方法的定义](content/42_20_method.md#201-方法的定义)
* [20.2 函数和方法的区别](content/42_20_method.md#202-函数和方法的区别)
* [20.3 指针或值方法](content/42_20_method.md#203-指针或值方法)
* [20.4 内嵌类型的方法提升](content/42_20_method.md#204-内嵌类型的方法提升)
* ### [第二十一章 协程(goroutine)](content/42_21_goroutine.md)
* [21.1 并发](content/42_21_goroutine.md#211-并发)
* [21.2 goroutine](content/42_21_goroutine.md#212-goroutine)
* ### [第二十二章 通道(channel)](content/42_22_channel.md)
* [22.1 通道(channel)](content/42_22_channel.md#221-通道channel)
* ### [第二十三章 同步与锁](content/42_23_sync.md)
* [23.1 同步锁](content/42_23_sync.md#231-同步锁)
* [23.2 读写锁](content/42_23_sync.md#232-读写锁)
* [23.3 sync.WaitGroup](content/42_23_sync.md#233-syncwaitgroup)
* [23.4 sync.Once](content/42_23_sync.md#234-synconce)
* [23.5 sync.Map](content/42_23_sync.md#235-syncmap)
* ### [第二十四章 指针和内存](content/42_24_pointer.md)
* [24.1 指针](content/42_24_pointer.md#241-指针)
* [24.2 new() 和 make() 的区别](content/42_24_pointer.md#242-new-和-make-的区别)
* [24.3 垃圾回收和 SetFinalizer](content/42_24_pointer.md#243-垃圾回收和-setfinalizer)
* ### [第二十五章 面向对象](content/42_25_oo.md)
* [25.1 Go 中的面向对象](content/42_25_oo.md#251-go-中的面向对象)
* [25.2 多重继承](content/42_25_oo.md#252-多重继承)
* ### [第二十六章 测试](content/42_26_testing.md)
* [26.1 单元测试](content/42_26_testing.md#261-单元测试)
* [26.2 基准测试](content/42_26_testing.md#262-基准测试)
* [26.3 分析并优化 Go 程序](content/42_26_testing.md#263-分析并优化-go-程序)
* [26.4 用 pprof 调试](content/42_26_testing.md#264-用-pprof-调试)
* ### [第二十七章 反射(reflect)](content/42_27_reflect.md)
* [27.1 反射(reflect)](content/42_27_reflect.md#271-反射reflect)
* [27.2 反射结构体](content/42_27_reflect.md#272-反射结构体)
* ### [第二十八章 unsafe包](content/42_28_unsafe.md)
* [28.1 unsafe 包](content/42_28_unsafe.md#281-unsafe-包)
* [28.2 指针运算](content/42_28_unsafe.md#282-指针运算)
* ### [第二十九章 排序(sort)](content/42_29_sort.md)
* [29.1 sort包介绍](content/42_29_sort.md#291-sort包介绍)
* [29.2 自定义sort.Interface排序](content/42_29_sort.md#292-自定义sortinterface排序)
* [29.3 sort.Slice](content/42_29_sort.md#293-sortslice)
* ### [第三十章 os包](content/42_30_os.md)
* [30.1 启动外部命令和程序](content/42_30_os.md#301-启动外部命令和程序)
* [30.2 os/signal 信号处理](content/42_30_os.md#302-ossignal-信号处理)
* ### [第三十一章 文件操作与I/O](content/42_31_io.md)
* [31.1 文件系统](content/42_31_io.md#311-文件系统)
* [31.2 I/O读写](content/42_31_io.md#312-io读写)
* [31.3 ioutil包](content/42_31_io.md#313-ioutil包)
* [31.4 bufio包](content/42_31_io.md#314-bufio包)
* ### [第三十二章 fmt包与日志log包](content/42_32_fmt.md)
* [32.1 fmt包格式化I/O](content/42_32_fmt.md#321-fmt包格式化io)
* [32.2 格式化verb应用](content/42_32_fmt.md#322-格式化verb应用)
* [32.3 日志log包](content/42_32_fmt.md#323-日志log包)
* ### [第三十三章 Socket网络](content/42_33_socket.md)
* [33.1 Socket基础知识](content/42_33_socket.md#331-socket基础知识)
* [33.2 TCP 与 UDP](content/42_33_socket.md#332-tcp-与-udp)
* ### [第三十四章 命令行flag包 ](content/42_34_flag.md)
* [34.1 命令行](content/42_34_flag.md#341-命令行)
* [34.2 flag包](content/42_34_flag.md#342-flag包)
* ### [第三十五章 模板](content/42_35_template.md)
* [35.1 text/template](content/42_35_template.md#351-texttemplate)
* [35.2 html/template](content/42_35_template.md#352-htmltemplate)
* [35.3 模板语法](content/42_35_template.md#353-模板语法)
* ### [第三十六章 net/http包](content/42_36_http.md)
* [36.1 Request](content/42_36_http.md#361-request)
* [36.2 Response](content/42_36_http.md#362-response)
* [36.3 client](content/42_36_http.md#363-client)
* [36.4 server](content/42_36_http.md#364-http-server-服务端)
* [36.5 自定义处理器(Custom Handlers)](content/42_36_http.md#365-自定义处理器custom-handlers)
* [36.6 将函数作为处理器](content/42_36_http.md#366-将函数作为处理器)
* [36.7 中间件Middleware](content/42_36_http.md#367-中间件middleware)
* [36.8 静态站点](content/42_36_http.md#368-静态站点)
* ### [第三十七章 context包](content/42_37_context.md)
* [37.1 context包](content/42_37_context.md#371-context包)
* [37.2 context应用](content/42_37_context.md#372-context应用)
* ### [第三十八章 数据序列化](content/42_38_json.md)
* [38.1 序列化与反序列化](content/42_38_json.md#381-序列化与反序列化)
* [38.2 JSON数据格式](content/42_38_json.md#382-json数据格式)
* [38.3 Protocol Buffer数据格式](content/42_38_json.md#383-protocol-buffer数据格式)
* ### [第三十九章 MySQL数据库](content/42_39_mysql.md)
* [39.1 database/sql包](content/42_39_mysql.md#391-databasesql包)
* [39.2 MySQL数据库操作](content/42_39_mysql.md#392-mysql数据库操作)
* ### [第四十章 LevelDB与BoltDB](content/42_40_kvdb.md)
* [40.1 LevelDB](content/42_40_kvdb.md#401-leveldb)
* [40.2 BoltDB](content/42_40_kvdb.md#402-boltdb)
* ### [第四十一章 网络爬虫](content/42_41_crawler.md)
* [41.1 Colly网络爬虫框架](content/42_41_crawler.md#411Colly网络爬虫框架)
* [41.2 goquery HTML解析](content/42_41_crawler.md#412-goquery-html解析)
* ### [第四十二章 WEB框架(Gin)](content/42_42_gin.md)
* [42.1 有关于Gin](content/42_42_gin.md#421-有关于gin)
* [42.2 Gin实际应用](content/42_42_gin.md#422-gin实际应用)