这本书从整体的写作风格来说,会以介绍 Go 语言特性为主,示例则尽量采用作者平常的实践,而不是一个没有太大实际意义的语法示范样例。
本书作者背景极强,许式伟为原金山WPS首席架构师、曾是盛大创新院研究员,目前是国内Go语言实践圈子公认的Go语言专家。参与本书写作的几位作者都是实际用Go语言开发的项目的开发人员,有较强的实战经验。
本书以介绍Go语言特性为主,示例则尽量采用作者开发团队平常的实践,内容涉及内存管理(堆和栈)、错误处理、OOP、并发编程等关键话题。 这本书面向的读者是所有打算用Go语言的开发者,主要包括目前使用C、C++、Java、C#的开发人员,甚至一些Python、PHP开发人员也可能转为 Go 程序员。
序 为什么我们需要一门新的语言?
第1章 初识Go语言
1.1 Go语言简史
1.2 语言特性
1.3 “Hello, world!”
1.4 编译环境
1.5 开发工具
1.6 工程管理
1.7 问题追踪和调试
1.8 如何寻求帮助
本章小结
第2章 顺序编程
2.1 变量、常量和类型
2.1.1 变量
2.1.2 常量
2.1.3 类型
2.2 流程控制
2.2.1 条件语句
2.2.2 选择语句
2.2.3 循环
2.2.4 跳转语句
2.3 函数
2.3.1 函数调用
2.3.2 不定参数
2.3.3 多返回值
2.3.4 匿名函数与闭包
2.4 错误处理
2.4.1 error接口
2.4.2 defer
2.4.3 panic和recover
本章小结
第3章 面向对象编程
3.1 类型系统
3.1.1 给类型添加方法
3.1.2 值语义和引用语义
3.2 结构体
3.2.1 初始化
3.2.2 匿名组合
3.2.3 成员可访问性
3.3 接口
3.3.1 其他语言中的接口
3.3.2 非侵入式接口
3.3.3 接口赋值
3.3.4 接口查询
3.3.5 类型查询
3.3.6 Any类型
本章小结
第4章 工程管理
4.1 Go命令行工具
4.2 代码风格
4.3 工程组织
4.4 单元测试
4.5 文档管理
4.6 工程构建
4.7 包的管理与分发
4.8 跨平台开发
4.8.1 Go语言的跨平台能力
4.8.2 交叉编译
4.8.3 Android支持
本章小结
第5章 并发编程
5.1 初识Goroutine
5.1.1 基本用法
5.1.2 Goroutine通信
5.2 Channel
5.2.1 基本用法
5.2.2 关闭
5.2.3 变量的传递
5.2.4 单向Channel
5.2.5 超时处理
5.3 多核并行化
5.4 同步机制
5.4.1 sync包简介
5.4.2 同步锁
5.4.3 Once类型
本章小结
第6章 网络编程
6.1 HTTP编程
6.1.1 客户端编程
6.1.2 开发HTTP服务器
6.2 JSON
6.2.1 JSON简介
6.2.2 编码
6.2.3 解码
6.2.4 未知类型的解码
6.2.5 流式读写
6.3 网站开发
6.3.1 一个最简单的网站
6.3.2 开发一个相册网站
6.3.2.1 新建工程
6.3.2.2 实现网络服务
6.3.2.3 网页模板渲染
6.3.2.4 缓存
6.3.2.5 错误处理
6.3.2.6 防止程序崩溃
6.3.2.7 资源分离
6.3.2.8 重构
6.4 更多资源
本章小结
第7章 进阶话题
7.1 Go语言中的内存管理
7.2 反射
7.3 语言交互性CGO
7.4 链接符号
7.5 Goroutine实现机制
7.6 接口的奥秘
本章小结
第8章 开发工具
8.1 Go语言开发工具
8.2 gEdit
8.3 Goclipse - 使用Eclipse开发和调试Go程序
8.4 VIM
8.5 Nodepad++,Windows上的Go开发环境搭建
8.6 GolangIDE
本章小结
附录 Go语言包参考
《行业专网规划设计手册》内容简介:本书首先介绍了专网的概念与目前国内外专网的建设现状。在专线电路的建设中根据承载业务对网络
作为引领移动技术潮流的软件平台,Android发布了NDK以支持Java和C的混合开发,使PC游戏可以在Android平台上焕发更多魅力。本书是
Amongthetestsyouperformonwebapplications,securitytestingisperhapsthemostimportan...
《代码的未来》是Ruby之父松本行弘的又一力作。作者对云计算、大数据时代下的各种编程语言以及相关技术进行了剖析,并对编程语言
《哈农钢琴练指法(重点提示版)》内容简介:《哈农钢琴练指法(重点提示版)》已成为钢琴学习者必不可少的练习,这种练习将伴随他
AarronWalteristheleaduserexperiencedesignerforMailChimp,wherehesocializeswithpri...
这本书帮助那些希望用数学工具解决实际问题的人们,仅有的要求可能就是懂一点概率知识和程序设计。而贝叶斯方法是一种常见的利用
Excel2013公式与函数辞典(646秘技大全) 本书特色本书共分为12部分,按功能对353个函数进行了彻底解说,包括日期与时间函数、数学与三角函数、统计函数...
《硅谷创业课》内容简介:本书包含了35位硅谷顶级投资人和创业导师关于创业和投资的智慧,包括彼得·蒂尔、史蒂夫·布兰克、埃里克
《中国社会治理》内容简介:本书是一部聚焦社会治理、讲述中国故事、总结中国经验的精品力作,系统地回答了“中国在新的历史条件下
《基于流体力学的金属增材制造过程仿真研究(英文版第二版)》内容简介:本书针对金属增材制造加工过程进行了系统研究,基于计算流
《C#与.NET3.5高级程序设计》(第4版)是C#领域久负盛名的经典著作,深入全面地叙述了C#编程语言和.NET平台核心,并以大量示例剖析
《漫画肺康复》内容简介:通过图解的形式给广大呼吸系统疾病患者科普如何治疗疾病,改善生活质量。可以看做一本呼吸系统疾病的患者
《企业文化建设实务》内容简介:本书是基于5年对中国式企业文化建设实践案例的研究与总结而成,书中创新性地提出了成功有效的中国企
如同某种势不可挡的新型病毒,地下黑客圈子流言四起:某个聪明绝顶、胆大妄为的家伙发动了对线上犯罪网络的恶意接管,这个犯罪网
LTE语音业务及VOLTE技术详解 本书特色 本书讲解了各种可能的lte语音业务技术解决方案,同时也介绍了lte**演进技术,即所谓的5g可能采用的先进技术和演...
Weliveinagoldenageofdatavisualization,inwhichdesignersarerespondingtotheinformat...
GPS卫星导航定位原理与方法 本书特色 本书是我国**本GPS教科书《全球定位系统原理及其应用》(刘基余主编, 北京测绘出版社于1993年10月**次出版发行)...
《数据分析之图算法:基于Spark和Neo4j》内容简介:图分析可以揭示复杂系统和大规模网络的运作机制,图算法为构建智能应用程序提供
本书介绍如何采用最合理的方式为RIA编写可靠的、易于维护的HTML、CSS和JavaScript代码,以及如何使用Ajax技术在后台实现浏览器与