新書推薦:
《
日耳曼通识译丛:复原力:心理抗逆力
》
售價:HK$
34.3
《
海外中国研究·未竟之业:近代中国的言行表率
》
售價:HK$
135.7
《
我们为何建造(城市与生态文明丛书)
》
售價:HK$
89.7
《
算法经济 : 商业逻辑与人类生活的智能演进(生动呈现AI与算法的创新应用与商业价值)
》
售價:HK$
79.4
《
家书中的百年史
》
售價:HK$
79.4
《
偏爱月亮
》
售價:HK$
45.8
《
生物安全与环境
》
售價:HK$
56.4
《
泥土:文明的侵蚀(城市与生态文明丛书)
》
售價:HK$
84.0
|
內容簡介: |
Go语言适合用来进行服务器编程与网络编程,包括Web应用编程等。本书详细讲解了Go语言数据类型、关键字、字面量、基本语法等基础概念及Go项目的工程构建、测试、编译与运行等;深入讲解了协程(goroutine)和通道(channel)等与并发编程有关的概念;还介绍了系统标准库、网络编程和第三方包。读者掌握本书内容后,可以顺利进行实际项目开发。
本书适合Go语言初学者和有一定经验的程序员阅读。
书中代码可免费下载(扫描封底二维码)。
|
目錄:
|
出版说明
前言
第1章Go语言简介1
1.1为什么要学Go语言1
1.2Go语言安装1
1.3Go语言开发工具4
第2章Go语言编程基础6
2.1数据类型6
2.2变量9
2.3常量14
2.4运算符18
2.5字符串22
2.6流程控制26
第3章作用域37
3.1关于作用域37
3.2约定和惯例40
第4章代码结构化与项目管理43
4.1包(package)43
4.2Go项目开发与编译46
第5章复合数据类型54
5.1数组(array)54
5.2切片(slice)56
5.3字典(map)60
第6章type关键字63
6.1type自定义类型63
6.2type定义类型别名64
第7章错误处理与defer66
7.1错误处理66
7.2关于defer68
第8章函数74
8.1函数(function)74
第9章结构体和接口86
9.1结构体(struct)86
9.2接口(interface)94
第10章方法101
10.1方法的定义101
10.2指针方法与值方法108
值方法111
10.3匿名类型的方法提升114
第11章面向对象与内存118
11.1面向对象118
11.2指针和内存119
第12章并发处理124
12.1协程124
12.2通道(channel)127
12.3同步与锁131
第13章测试与调优140
13.1测试140
13.2调优142
第14章系统标准库148
14.1reflect包148
14.2unsafe包155
14.3sort包160
14.4os包164
14.5fmt包167
14.6flag 包174
14.7文件操作与IO177
第15章网络服务186
15.1Socket186
15.2模板(Template)189
15.3nethttp包196
15.4context包214
第16章数据格式与存储221
16.1数据格式221
结构体222
16.2MySQL数据库231
16.3LevelDB与BoltDB 数据库236
第17章网络爬虫244
17.1Colly网络爬虫框架244
17.2goquery HTML解析246
第18章Web框架—Gin250
18.1关于Gin250
18.2Gin实际应用251
参考文献260
|
內容試閱:
|
现在市面上与Go语言相关的书籍较少,大部分书籍针对的是中高级开发人员,而从基础知识讲解,进而到初步应用开发的指导性书籍更少。
针对以上情况,本书详细讲解了Go语言基础知识点,并联系实际指出其可能存在的陷阱,帮助读者加深学习时的理解。本书还结合流行度较高的开源第三方包,引导读者进行更高级的实际项目开发。
本书非常适合Go语言新手细细阅读。有一定经验的开发人员,也可以根据自己的情况,选择一些章节来看。
第 1~4章为基础部分,主要讲解Go语言的基础知识,包括Go语言的安装、基本语法、标识符、关键字、运算符、标点符号、字面量等,以及Go项目的工程构建、编译与运行等。
第 5~8 章为中级部分,主要讲解Go语言的复合数据类型,包括数组(array)、切片(slice)、字典(map)、结构体(struct)、指针(pointer)、函数(function)、接口(interface)和通道(channel)类型等。利用灵活的type关键字,可以自定义各种需要的数据类型。函数提供了更直接的数据处理能力,而通过panic,recover,defer处理错误的方式,也是Go语言的典型特征。
第9~13章为高级部分,主要讲解结构体、接口和方法,它们是Go语言简单与组合思维的基础。非常友好地支持并发是Go语言天然具有的典型特征,协程(gorountine)和通道(channel)配合,加上sync 包提供的系列功能,使我们可以很方便地编写支持高并发的代码。
第14~16章为拓展部分,主要介绍Go语言提供的官方标准库,包括OS操作、文件IO、网络传输处理、指针相关操作、代码反射、日志记录等。这些包可以让我们快速进入实际开发。另外对MySQL数据库以及LevelDB、BoltDB数据库的操作有简单介绍。
第17、18章为应用部分,主要以网络爬虫和Web框架为例,进入实际开发。网络爬虫是互联网服务中比较重要的功能,通过互联网抓取、分析、保存资料是程序员的一项基本能力,读者可以看到Go语言在此方面也是游刃有余。而利用Gin这款轻量级的Web框架,可以很方便地搭建各种Web服务。
自2009年Go语言面世以来,已经有越来越多的公司转向Go语言开发。而Go语言以语法简单、学习门槛低、上手快著称,但入门后很多人发现要写出地道的、遵循 Go语言思维的代码却实属不易。
我作为Go语言的爱好者,在阅读系统标准库源代码或其他知名开源包源代码时,发现大牛对这门语言的了解之深入,代码实现之巧妙优美,除了膜拜还是膜拜。所以我建议你有时间多多阅读这些代码,网上说Go大神的标准是“能理解简洁和可组合性哲学”。的确,Go语言追求代码简洁到极致,而组合思想可谓借助于结构体和接口而成为Go的灵魂。
function、method、interface、type等名词是程序员们接触比较多的关键字,但在Go语言中,你会发现,它们有更强大、更灵活的用法。当你彻底理解了Go语言相关基本概念,以及对其特点有了深入的认知(当然这也是这本书的目的),再假以时日多练习和实践,我相信你很快就能真正掌握这门语言,成为一名出色的Gopher。
本书最早通过网络发布,有不少关注Go语言的朋友通过各种途径给了不少建议,这里要感谢网友Joyboo、林远鹏、Mr_RSI、magic-joker等。
本书最终得以出版,需要感谢李岩兄的鼓励和帮助,以及其他各位朋友和老师们,感谢你们的鼓励和帮助,感谢你们的支持!
最后,希望更多的人了解和使用Go语言,也希望阅读本书的朋友们多多交流。虽然本书中的例子都经过实际运行,但难免会有错误和不足之处,烦请您指出。书中其他疏漏之处也恳请各位读者斧正。作者联系邮箱:roteman@163.com。
祝各位Gopher工作开心,编码愉快!
李晓钧
|
|