这本书从整体的写作风格来说,会以介绍 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语言包参考
《萌物绘:实用水彩手绘入门教程》内容简介:本书分为四大部分:工具篇、色彩篇、基础篇、实践篇。以甜品、花卉、动物三大萌物主题
《影像杂谈》内容简介:作者影像评论十二篇首次结集,并配以作者的手机快照。《影像杂谈》以画家之眼,谈论时间对于摄影的参与,记
為什麼愈簡單的設計反而顯得愈奢侈?大量生產的蘋果電腦,為什麼像是為個人量身訂做的?史塔克最精采的設計作品不是外星人榨汁機
《Ruby设计模式》是一本关于设计模式方面的重点书籍。《Ruby设计模式》以通俗易懂的方式介绍了Ruby设计模式,主要包括Ruby概述、
《匆匆》内容简介:本书共收录了朱自清31篇随笔、散文,他用清隽的笔调写看花、春晖的一月、扬州的夏日、荷塘月色,也写白马湖、威
《区块链技术进阶指南》内容简介:本书从区块链发展简史、账本模型、网络、共识、合约引擎及应用等多个方面进行系统介绍,希望帮助
《东京审判》内容简介:第二次世界大战结束后,从1946年5月3日至1948年11月12日,在日本东京进行了历时两年零六个月的“世纪大审判
卷1 协议-TCP/IP详解-(英文版.第2版) 本书特色 ·w. richard stevens传奇般的tcp/ip指南,现在被顶级网络专家kevin r.f...
BookDescriptionTextpatternisapowerful,PHP-basedcontentmanagementsystemthatallows...
《考古有意思:秦始皇的兵与城》内容简介:考古大咖写给大众的考古版寻秦记! 兵马俑一号坑第三次发掘和秦咸阳城发掘领队许卫红根据
《商业智能原理、技术及应用》内容简介:本书全面、系统地介绍了商业智能的理论、核心技术知识以及应用。全书分3篇,共13章。第1~
《PHP典型模块与项目实战大全》以实战开发为原则,以PHP典型模块和项目开发为主线,通过12个高质量的PHP典型模块和6个PHP大型应用
本书由地理信息系统(GIS)领域的四位资深学者编写,全面系统地讲解地理信息系统的基本原理与应用,是该领域的优秀教材。本书的主要
本书由ACE的几位核心开发者撰写,快速而直接地解释了怎样充分利用ACE。从介绍ACE开始,循序渐进,详细讨论了ACE的IPC设施、进程及
《传承:一种关系及其隐秘动力》内容简介:传承的N个实用指南:无论你是传承精神,传承财富,还是家风,你都需要这样一本书。它会告
天亮了一只鸟落在船上蝴蝶从水面飞过湖畔边的蜘蛛网里,一只蜘蛛正在和天牛扭打野鸭悠然自得地从水面游走傍晚了月亮倒映在湖面上
ProductDescriptionDesigningInteractiveSystems:People,Activities,Contexts,Technol...
本书是一本CSS技术专著。主要从布局角度全面、系统和深入地讲解CSS在标准网站布局之中的应用。很多读者经过初步的学习之后就能够
《ROS机器人开发:实用案例分析(原书第2版)》内容简介:本书不仅涵盖ROS的基础知识,还循序渐进地讲解了ROS机器人的高级应用特性
ForcoursesinDigitalCommunications.Providesacomprehensiveandin-depthintroductiont...