编辑推荐

适读人群 :Go语言使用者,对Go语言感兴趣的人群

传说中的雨痕老师终于将自己的《Go学习笔记》付梓了!

一如既往的低调,也一如既往的务实。本书文风极简,干净利落。

上卷(基于Go 1.6)细致解析语言规范相关细节,下卷(基于Go 1.5.1)则对运行时源码做出深度剖析。


内容简介

作为时下流行的一种系统编程语言,Go 简单易学,性能很好,且支持各类主流平台。已有大量项目采用 Go 编写,这其中就包括 Docker 等明星作品,其开发和执行效率早已被证明。《Go语言学习笔记》经四年多逐步完善,内容覆盖了语言、运行时、性能优化、工具链等各层面知识。且内容经大量读者反馈和校对,没有明显的缺陷和错误。上卷细致解析了语言规范相关细节,便于读者深入理解语言相关功能的使用方法和注意事项。下卷则对运行时源码做出深度剖析,引导读者透彻了解语言功能背后的支持环境和运行体系,诸如内存分配、垃圾回收和并发调度等。《Go语言学习笔记》不适合编程初学入门,可供有实际编程经验或正在使用Go 工作的人群参考。

作者简介

自 1996 年从事计算机软件开发工作以来,已 20 春秋。期间供职于北大方正、西单电子商务、九城数码、知乎等公司。主要从事核心开发、架构设计,以及部分管理工作。

目录

上卷 语言详解

第1 章 概述 ................................................................................................................. 3

1.1 特征 ......................................................................................................................... 3

1.2 简介 ......................................................................................................................... 6

第2 章 类型 ............................................................................................................... 18

2.1 变量 ....................................................................................................................... 18

2.2 命名 ....................................................................................................................... 22

2.3 常量 ....................................................................................................................... 24

2.4 基本类型 ............................................................................................................... 28

2.5 引用类型 ............................................................................................................... 31

2.6 类型转换 ............................................................................................................... 33

2.7 自定义类型 ........................................................................................................... 34

第3 章 表达式 ........................................................................................................... 38

3.1 保留字 ................................................................................................................... 38

3.2 运算符 ................................................................................................................... 38

3.3 初始化 ................................................................................................................... 44

3.4 流控制 ................................................................................................................... 45

第4 章 函数 ............................................................................................................... 59

4.1 定义 ....................................................................................................................... 59

4.2 参数 ....................................................................................................................... 63

4.3 返回值 ................................................................................................................... 67

4.4 匿名函数 ............................................................................................................... 69

4.5 延迟调用 ............................................................................................................... 76

4.6 错误处理 ............................................................................................................... 80

第5 章 数据 ............................................................................................................... 86

5.1 字符串 ................................................................................................................... 86

5.2 数组 ....................................................................................................................... 95

5.3 切片 ..................................................................................................................... 100

5.4 字典 ..................................................................................................................... 110

5.5 结构 ..................................................................................................................... 118

第6 章 方法 ............................................................................................................. 130

6.1 定义 ..................................................................................................................... 130

6.2 匿名字段 ............................................................................................................. 133

6.3 方法集 .....................................


前言/序言

前两天忙里偷闲将第五版《Go 学习笔记》上下册合并,预备交给出版社编辑。不经意扫了一眼更新记录,才发觉四年光阴恍然而过。不知从何时起,岁月流逝的速度越来越快,抓不得,留不住。


我很擅长坚持,不知是因为笨,还是性情迟钝的缘故。在给编辑写作者简介时,我努力回忆自己最近二十年的经历,好像除了些纷扰的人和事外,就是一段段在不同技术圈子里日夜探索的记忆,历久弥新。


现在带了些学生,每每交流时,总偷偷庆幸自己是个先行者,没有互联网的“黑暗时代”反而造就了踏实的基础,远不是现今乱花迷眼的境况。看着他们对于具体实现“懵懂无知”的表现,我对于写书这事就愈发虔诚,生怕误了别人的光阴和热情。似乎《学习笔记》这个名字才是最好的诠释,立不得案头,权作闲书,稍能观感一二即可。


因喜爱 C,故对 Go 关注得很早。观望良久,终究受不住诱惑,一头栽了进去。边学边记,于是有了最早的《学习笔记》。只因错漏过多,发到某论坛着实没砸出什么水花来。此后,对于宣传也淡了心思,再不愿出去,只自己默默更新,或发到微博,给一些熟识尚惦记这事的人打个招呼。


某日,一编辑发来消息,询问我是否出版,才恍然知道这书原也是可印的,好像自己从没想过。犹豫再三,且将几本笔记从 GitHub 下架。只可惜,因某些理念不同,最终未能如愿,这一拖就是许多时日。


去年受老谢的邀请,前往上海参加 Gopher China 大会。期间多次被问及何时能有实体书出版,熄了许久的心思方又活过来。年中,重新写了书稿,年底几乎又重来一遍,心底对于出书总有些忐忑。直到圣诞节,才放了下册出来。幸好,并没有人出来指责我粗制滥造,方得心安。


我儿小乖还太小,于是猴年我一人回老家过年。也许是在外面太久,对搬进城里的老家全然陌生,每日里除了陪父母吃饭外,其他时间都用来写上册书稿。偶尔透过窗看见远处的山影,才找回些幼时记忆。书写得意外顺利,即便网络不算通畅也未能影响到我。回京路上,我彻底定了主意,准备交付出版。


节后忙于培训一事,书稿校对稍稍拖后了些。边按章节调整,边请群里的伙伴们帮忙审校,所幸赶在截止日期前完成。样稿交到编辑手里,虽尚有些收尾工作,但总算能放轻松些。这于我是个解脱,困于此的心思总算少了一大半。


依惯例,需在此感谢很多人。其中自然少不了对我多加鼓励的家中太上领导和惦记良久的网络众位大仙们。当然,最需感谢的是群里帮忙校对的小伙伴们,有溺水的鱼、大内总管、starchou、老虎、日下、小E、春婶、奋斗娃等等。


读者定位


本书并不适合用作编程初学者入门,因内容和文体都太过简练了些。我厚脸推荐给有实际经验或正用 Go 工作的人群,可于路途中当闲书翻看几页。


联系方式


鉴于能力有限,书中难免错漏。如您看到任何问题,请与我联系,以便更正。谢谢!


微博:weibo.com/qyuhen


邮件:qyuhen@hotmail.com


社区:qyuhen.bearychat.com


雨 痕


二〇一六年春




Go语言学习笔记 下载 mobi epub pdf txt 电子书 格式