这本书从整体的写作风格来说,会以介绍 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语言包参考
Printedentirelyincolor,withhelpfulfiguresandsyntaxcoloringtomakecodesamplesappea...
《化学会呼吸》内容简介:本书基于全国重点中学资深化学老师多年累积的经验和研究成果,以活泼又不失严谨的写作风格,用身边可触摸
《柏台故事》内容简介:柏台之名起于汉朝。御史府中多植柏树,而朝廷禁省,统称台阁,所以御史府别称柏台。明朝改前朝御史台为都察
Technologicaladvanceshavebenefitedourworldinimmeasurableways,butthereisanominous...
本书是一本关于数字技术的科普书,作者通过50篇短小精干的短文,介绍了改变我们这个世界的50种数码知识,包括云计算、文化反赌、
《政治理论的当代视野》内容简介:本书基于政治理论的近期发展,考察了权力、民主、义务、责任、公平等政治与道德的交叉议题,通过
《文爱艺诗集(第63部)彼岸花》内容简介:本书是著名诗人文爱艺先生的最新诗集,是诗人出版的第63部诗集。文爱艺的诗集出版以来,
《阳光穿越地中海》内容简介:阳光明媚、海水湛蓝的地中海是人类文明最重要的发祥地之一。在欧洲大陆还一片蒙昧时,这里就先后有多
《中国梦实现的根本法保障》内容简介:宪法序言申明的建设富强、民主、文明的社会主义国家是经济、政治、社会、文化与生态文明五位
开发TCP/IP网络客户端和服务器应用管理本地设备的IPv4/IPv6网络接口使用HTTP和HTTPS协议编写用途多、效率高的Web客户端编写可使用
MATLAB在时间序列分析中的应用 本书特色 本书简明扼要地介绍了时间序列及其相关领域的基本概念和基本理论,对ARMA序列预测、时间序列的统计分析、时间序列的时...
Whatdoesittaketobecomeadoctor,andhowdotheykeepushealthy?Learnhowlongdoctorshavet...
《更好更年期》内容简介:为什么出版这本书:1.更年期不仅是医学议题,也折射出女性的社会地位,女性的自我定位和价值体现以及新时
多媒体技术与创作 内容简介 《多媒体技术与创作》是数字媒体技术与创作系列教材中的一部。全书以多媒体软件项目管理的思想和软件工程学的方法为指导,以一个综合的...
Focusingonthreeprincipalsystems-GPS,GALILEO,andGLONAS-thispracticalresourceprovi...
《传播研究的心理学传统》内容简介:本书是一项基础性的学术史研究,旨在揭示传播学学术传统的心理学源流。以传播学和心理学的学科
《有没有一首歌让你热泪盈眶》内容简介:每个人的生命中,都有一座青春的巢。少年的巢在美梦里,中年的巢在回忆里,而青年的巢在手
人因学作为一门新兴的学科,在当今工业设计领域越来越受重视,这本《人因工程学导论》的主要意图是对人因学原理进行清楚直观的说
Ifyouveusedamoretraditionalobject-orientedlanguage,suchasC++orJava,JavaScriptpro...
资深Linux/Unix系统管理专家兼架构师多年一线工作经验结晶,51CTO和ChinaUnix等知名社区联袂推荐。结合实际生产环境,从Linux虚拟