这本书从整体的写作风格来说,会以介绍 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语言包参考
网站设计与网页制作项目教程 本书特色 《网站设计与网页制作项目教程》:国家人力资源和社会保障部、国家工业和信息化部信息专业技术人才知识更新工程指定教材全国软件专...
《MATLAB图像处理超级学习手册》内容简介:本书以MATLAB R2013a版本的功能叙述为主,由浅入深全面地讲解了MATLAB软件在图像处理方面
《大数据实践之路》内容简介:《大数据实践之路:数据中台+数据分析+产品应用》共13章,汇集了7位作者(来自多个大型互联网企业)的
《围棋死活二选一从入门到精通(级位篇)》内容简介:本书是由少儿围棋教育专家、职业五段棋手赵守洵专为围棋初学者创作。本书按照
《因为喜欢,可迎万难:张爱玲传》内容简介:张爱玲,理解生活的深刻,动荡的人生染着轻盈的落寞,是一个可以与世界“顶级”小说家
《菊与刀(译林人文精选)》内容简介:《菊与刀》是本尼迪克特于二战后受命于美国政府,为分析、研究日本社会和日本民族性所作的调
《5G+智能网联汽车》内容简介:作为未来产业发展的战略制高点,智能网联汽车正在成为移动储能单元和数字空间,将会带动能源、交通、
你必须知道的495个-C语言问题 本书特色 《你必须知道的495个c语言问题》以问答的形式组织内容,讨论了学习或使用c语言的过程中经常遇到的一些问题。书中列出了...
中文版Photoshop CC标准教程(视频教学版)(附光盘) 本书特色 本书以实用、够用为原则,按照平面设计工作的实际需求组织内容。全书共17章,其中第1~1...
jaybryant:横跨两个不同的领域:写作和编程。在过去的20年中,他一直致力于帮助ge(通用电气)、motorola(摩托罗拉)、dell(戴
每天,google都要测试和发布数百万个源文件、亿万行的代码。数以亿计的构建动作会触发几百万次的自动化测试,并在好几十万个浏览
《可视化未来》内容简介:科学的传播速度有多快?今时今日我们很少谈论上帝了吗?人们什么时候开始用“having sex”而不用“making
《企鹅凶猛:马化腾的中国功夫》试图从腾讯公司的诞生、成长、自卫战和反击战等几个层面,展现了昔日的“丑小鸭”羽化成“白天鹅”
《Project 2016项目管理自学经典》内容简介:本书以案例为主,由浅入深、图文并茂地介绍了Project 2016项目管理的基础知识和应用技
《持久内存架构与工程实践》内容简介:《持久内存架构与工程实践》以工程实践为导向,详细阐述了持久内存的整体技术节。对硬件和固
《成器之道:史前至宋的陶瓷造型艺术》内容简介:本书从艺术史的角度对史前至秦汉、隋唐、两宋这几个时期中国陶瓷的器形和艺术风格
Likeanyothersoftwaresystem,Websitesgraduallyaccumulate"cruft"overtime.Theyslowdo...
“这本深思熟虑的论文集(《安全之美》)帮助读者摆脱安全领域闪烁着欺骗光芒的心理恐惧,转而欣赏安全的微妙美感。本书描述了安
《我们的历史:夏商周》内容简介:本书以时间为轴,通过一个个生动的中国历史故事将原本看似冷冰冰的、由一大串数字和人名堆砌的历
此書為華文世界第一本柳宗理入門,介紹柳宗理最著名的三大設計產品:蝴蝶椅、餐具及象腳椅,剖析其十大設計理念,請到深澤直人、