Skip to content

Commit 133d997

Browse files
committed
把目录改成思维导图形式
1 parent 03d09f0 commit 133d997

28 files changed

+23
-89
lines changed

01.0.md

Lines changed: 4 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,5 @@
11
# 1 GO环境配置
22

3-
## 目录
4-
* 1. [Go安装](01.1.md)
5-
* 2. [GOPATH与工作空间](01.2.md)
6-
* 3. [Go命令](01.3.md)
7-
* 4. [Go开发工具](01.4.md)
8-
* 5. [小结](01.5.md)
9-
103
欢迎来到Go的世界,让我们开始吧!
114

125
Go是一种新的语言,一种并发的、带垃圾回收的、快速编译的语言。它具有以下特点:
@@ -21,6 +14,10 @@ Go试图成为结合解释型编程的轻松、动态类型语言的高效以及
2114

2215
在本章中,我们将讲述Go的安装方法,以及如何配置项目信息。
2316

17+
## 目录
18+
19+
![](images/navi1.png?raw=true)
20+
2421
## links
2522
* [目录](<preface.md>)
2623
* 下一节: [Go安装](<01.1.md>)

02.0.md

Lines changed: 2 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,5 @@
11
# 2 Go语言基础
22

3-
## 目录
4-
* 1. [你好,Go](02.1.md)
5-
* 2. [Go基础](02.2.md)
6-
* 3. [流程和函数](02.3.md)
7-
* 4. [struct类型](02.4.md)
8-
* 5. [面向对象](02.5.md)
9-
* 6. [interface](02.6.md)
10-
* 7. [并发](02.7.md)
11-
* 8. [小结](02.8.md)
12-
133
Go是一门类似C的编译型语言,但是它的编译速度非常快。这门语言的关键字总共也就二十五个,比英文字母还少一个,这对于我们的学习来说就简单了很多。先让我们看一眼这些关键字都长什么样:
144

155
break default func interface select
@@ -20,6 +10,8 @@ Go是一门类似C的编译型语言,但是它的编译速度非常快。这
2010

2111
在接下来的这一章中,我将带领你去学习这门语言的基础。通过每一小节的介绍,你将发现,Go的世界是那么地简洁,设计是如此地美妙,编写Go将会是一件愉快的事情。等回过头来,你就会发现这二十五个关键字是多么地亲切。
2212

13+
## 目录
14+
![](images/navi2.png?raw=true)
2315

2416
## links
2517
* [目录](<preface.md>)

03.0.md

Lines changed: 3 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,10 @@
11
# 3 Web基础
22

3-
## 目录
4-
* 1. [web工作方式](03.1.md)
5-
* 2. [GO搭建一个简单的web服务](03.2.md)
6-
* 3. [Go如何使得web工作](03.3.md)
7-
* 4. [Go的http包详解](03.4.md)
8-
* 5. [小结](03.5.md)
9-
103
学习基于Web的编程可能正是你读本书的原因。事实上,如何通过Go来编写Web应用也是我编写这本书的初衷。前面已经介绍过,Go目前已经拥有了成熟的Http处理包,这使得编写能做任何事情的动态Web程序易如反掌。在接下来的各章中将要介绍的内容,都是属于Web编程的范畴。本章则集中讨论一些与Web相关的概念和Go如何运行Web程序的话题。
114

5+
## 目录
6+
![](images/navi3.png?raw=true)
7+
128
## links
139
* [目录](<preface.md>)
1410
* 上一章: [第二章总结](<02.8.md>)

04.0.md

Lines changed: 2 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,5 @@
11
# 4 表单
22

3-
## 目录
4-
* 1. [处理表单的输入](04.1.md)
5-
* 2. [验证表单的输入](04.2.md)
6-
* 3. [预防跨站脚本](04.3.md)
7-
* 4. [防止多次递交表单](04.4.md)
8-
* 5. [处理文件上传](04.5.md)
9-
* 6. [小结](04.6.md)
10-
113
表单是我们平常编写Web应用常用的工具,通过表单我们可以方便的让客户端和服务器进行数据的交互。对于以前开发过Web的用户来说表单都非常熟悉,但是对于C/C++程序员来说,这可能是一个有些陌生的东西,那么什么是表单呢?
124

135
表单是一个包含表单元素的区域。表单元素是允许用户在表单中(比如:文本域、下拉列表、单选框、复选框等等)输入信息的元素。表单使用表单标签(\<form\>)定义。
@@ -24,6 +16,8 @@ HTTP协议是一种无状态的协议,那么如何才能辨别是否是同一
2416

2517
表单还有一个很大的功能就是能够上传文件,那么Go是如何处理文件上传的呢?针对大文件上传我们如何有效的处理呢?4.5小节我们将一起学习Go处理文件上传的知识。
2618

19+
## 目录
20+
![](images/navi4.png?raw=true)
2721

2822
## links
2923
* [目录](<preface.md>)

05.0.md

Lines changed: 1 addition & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -6,13 +6,7 @@ Go没有内置的驱动支持任何的数据库,但是Go定义了database/sql
66
目前NOSQL已经成为Web开发的一个潮流,很多应用采用了NOSQL作为数据库,而不是以前的缓存,5.6小节将介绍MongoDB和Redis两种NOSQL数据库。
77

88
## 目录
9-
* 1. [database/sql接口](05.1.md)
10-
* 2. [使用MySQL数据库](05.2.md)
11-
* 3. [使用SQLite数据库](05.3.md)
12-
* 4. [使用PostgreSQL数据库](05.4.md)
13-
* 5. [使用beedb库进行ORM开发](05.5.md)
14-
* 6. [NOSQL数据库操作](05.6.md)
15-
* 7. [小结](05.7.md)
9+
![](images/navi5.png?raw=true)
1610

1711
## links
1812
* [目录](<preface.md>)

06.0.md

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -4,11 +4,7 @@ Web开发中一个很重要的议题就是如何做好用户的整个浏览过
44
6.1小节里面讲介绍session机制和cookie机制的关系和区别,6.2讲解Go语言如何来实现session,里面讲实现一个简易的session管理器,6.3小节讲解如何防止session被劫持的情况,如何有效的保护session。我们知道session其实可以存储在任何地方,6.3小节里面实现的session是存储在内存中的,但是如果我们的应用进一步扩展了,要实现应用的session共享,那么我们可以把session存储在数据库中(memcache或者redis),6.4小节将详细的讲解如何实现这些功能。
55

66
## 目录
7-
* 1. [session和cookie](06.1.md)
8-
* 2. [Go如何使用session](06.2.md)
9-
* 3. [session存储](06.3.md)
10-
* 4. [预防session劫持](06.4.md)
11-
* 5. [小结](06.5.md)
7+
![](images/navi6.png?raw=true)
128

139
## links
1410
* [目录](<preface.md>)

07.0.md

Lines changed: 1 addition & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -4,13 +4,7 @@ Web开发中对于文本处理是非常重要的一部分,我们往往需要
44
XML是目前很多标准接口的交互语言,很多时候和一些Java编写的webserver进行交互都是基于XML标准进行交互,7.1小节将介绍如何处理XML文本,我们使用XML之后发现它太复杂了,现在很多互联网企业对外的API大多数采用了JSON格式,这种格式描述简单,但是又能很好的表达意思,7.2小节我们将讲述如何来处理这样的JSON格式数据。正则是一个让人又爱又恨的工具,它处理文本的能力非常强大,我们在前面表单验证里面已经有所领略它的强大,7.3小节将详细的更深入的讲解如何利用好Go的正则。Web开发中一个很重要的部分就是MVC分离,在Go语言的Web开发中V有一个专门的包来支持`template`,7.4小节将详细的讲解如何使用模版来进行输出内容。7.5小节讲详细介绍如何进行文件和文件夹的操作。7.6小结介绍了字符串的相关操作。
55

66
## 目录
7-
* 1. [XML处理](07.1.md)
8-
* 2. [JSON处理](07.2.md)
9-
* 3. [正则处理](07.3.md)
10-
* 4. [模板处理](07.4.md)
11-
* 5. [文件操作](07.5.md)
12-
* 6. [字符串处理](07.6.md)
13-
* 7. [小结](07.7.md)
7+
![](images/navi7.png?raw=true)
148

159
## links
1610
* [目录](<preface.md>)

08.0.md

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -12,11 +12,7 @@ SOAP是W3C在跨网络信息传递和远程计算机函数调用方面的一个
1212
Go语言是21世纪的C语言,我们追求的是性能、简单,所以我们在8.1小节里面介绍如何使用Socket编程,很多游戏服务都是采用Socket来编写服务段,因为HTTP协议相对而言比较耗费性能,让我们看看Go语言如何来Socket编程。目前随着HTML5的发展,webSockets也逐渐的成为很多页游公司接下来开发的一些手段,我们将在8.2小节里面讲解Go语言如何编写webSockets的代码。
1313

1414
## 目录
15-
* 1. [Socket编程](08.1.md)
16-
* 2. [WebSocket](08.2.md)
17-
* 3. [REST](08.3.md)
18-
* 4. [RPC](08.4.md)
19-
* 5. [小结](08.5.md)
15+
![](images/navi8.png?raw=true)
2016

2117
## links
2218
* [目录](<preface.md>)

09.0.md

Lines changed: 1 addition & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -12,13 +12,7 @@
1212
加密的本质就是扰乱数据,某些不可恢复的数据扰乱我们称为单项加密或者散列算法。另外还有一种双向加密方式,也就是可以对加密后的数据进行解密。我们将会在9.6小节介绍如何实现这种双向加密方式。
1313

1414
## 目录
15-
* 1 [预防CSRF攻击](09.1.md)
16-
* 2 [确保输入过滤](09.2.md)
17-
* 3 [避免XSS攻击](09.3.md)
18-
* 4 [避免SQL注入](09.4.md)
19-
* 5 [存储密码](09.5.md)
20-
* 6 [加密和解密数据](09.6.md)
21-
* 7 [小结](09.7.md)
15+
![](images/navi9.png?raw=true)
2216

2317
## links
2418
* [目录](<preface.md>)

10.0.md

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -16,10 +16,8 @@
1616
在第一小节里,我们将介绍如何设置正确的locale以便让访问站点的用户能够获得与其语言相应的页面。第二小节将介绍如何处理或存储字符串、货币、时间日期等与locale相关的信息,第三小节将介绍如何实现国际化站点,即如何根据不同locale返回不同合适的内容。通过这三个小节的学习,我们将获得一个完整的i18n方案。
1717

1818
## 目录
19-
* 1 [设置默认地区](10.1.md)
20-
* 2 [本地化资源](10.2.md)
21-
* 3 [国际化站点](10.3.md)
22-
* 4 [小结](10.4.md)
19+
20+
![](images/navi10.png?raw=true)
2321

2422
## links
2523
* [目录](<preface.md>)

0 commit comments

Comments
 (0)