作品简介

Go语言在多核硬件架构、超大规模分布式计算集群和Web应用上具有明显的优势,目前Google、Facebook、AWS、Mozilla、七牛、阿里、腾讯、百度、京东等大公司都已经开始使用Go语言开发其云计算产品。本书分为12章,第1章介绍Go语言的基本开发环境;第2章介绍Go语言的语法基础;第3章介绍Go语言的函数;第4章介绍Go语言的流程控制与错误处理;第5章介绍Go语言中的结构体、数组、切片和字典等;第6章介绍Go语言中的指针;第7章介绍Go语言的面向对象用法;第8章介绍Go语言文件读写;第9章介绍Go语言的并发编程;第10章介绍Go语言的反射特性;第11章介绍Go语言如何构建Web服务;第12章用Go语言实现了一个并发聊天实战项目。本书配套源码、课件、开发环境和教学视频。本书内容详尽、示例丰富,是一本Go语言的入门教材,非常适合有一定编程基础的读者学习使用。当然,本书也适合对编程感兴趣的读者学习。同时,本书也非常适合高等院校的师生学习阅读,可作为高等院校计算机及相关专业的教材。

汪明

硕士,徐州软件协会副理事长,某创业公司合伙人。从事软件行业十余年,发表论文数十篇,擅长JavaScript、C、Java、等传统语言,也擅长TypeScript、Go等新语言。著有图书《TypeScript实战》。

作品目录

  • 内容简介
  • 前言
  • 第1章 搭建Go开发环境
  • 1.1 Go的语言特性
  • 1.2 安装
  • 1.3 配置环境变量
  • 1.4 第一个Go程序
  • 1.5 运行时
  • 1.6 编译器
  • 1.7 Go程序的集成开发环境
  • 1.8 演练:Exit自动退出程序
  • 1.9 本章小结
  • 第2章 Go程序的基础要素
  • 2.1 命名规范
  • 2.2 包
  • 2.3 数据类型
  • 2.4 常量
  • 2.5 变量
  • 2.6 运算符
  • 2.7 注释
  • 2.8 类型转换
  • 2.9 演练:原子计算器
  • 2.10 小结
  • 第3章 函数
  • 3.1 函数的结构
  • 3.2 函数返回多个值的特性
  • 3.3 作用域
  • 3.4 匿名函数
  • 3.5 变长函数
  • 3.6 递归函数
  • 3.7 回调函数
  • 3.8 闭包
  • 3.9 defer关键字
  • 3.10 演练:原子计算器2.0迭代版
  • 3.11 小结
  • 第4章 流程控制与错误处理
  • 4.1 if判断
  • 4.2 switch条件判断语句
  • 4.3 for循环语句
  • 4.4 break与continue
  • 4.5 Go的错误处理机制
  • 4.6 演练:哲学的三段论
  • 4.7 小结
  • 第5章 复合数据类型
  • 5.1 type关键字
  • 5.2 struct类型
  • 5.3 匿名struct类型
  • 5.4 数组
  • 5.5 切片
  • 5.6 字典
  • 5.7 range关键字
  • 5.8 演练:内存数据库
  • 5.9 小结
  • 第6章 指针
  • 6.1 内存地址
  • 6.2 指针的应用
  • 6.3 野指针
  • 6.4 值传参与地址传参
  • 6.5 演练:Go单向链表的实现
  • 6.6 小结
  • 第7章 面向对象和接口
  • 7.1 结构体实现封装
  • 7.2 组合实现继承
  • 7.3 接口实现
  • 7.4 类型判断与断言
  • 7.5 接口实现多态
  • 7.6 演练:SQL生成器的实现
  • 7.7 小结
  • 第8章 文件读写
  • 8.1 文件读取
  • 8.2 文件写入
  • 8.3 自己开发io包下的读写接口
  • 8.4 目录操作
  • 8.5 演练:property配置文件的操作
  • 8.6 小结
  • 第9章 图解并发编程
  • 9.1 单核并发
  • 9.2 锁机制
  • 9.3 并行——多核并行
  • 9.4 Go调度器
  • 9.5 协程
  • 9.6 协程间通信
  • 9.7 无缓冲信道
  • 9.8 有缓冲信道
  • 9.9 信道和缓冲生成I/O流
  • 9.10 协程调试
  • 9.11 协程性能测试
  • 9.12 演练:单机MapReduce单词统计
  • 9.13 小结
  • 第10章 反射
  • 10.1 反射的概念和基本用法
  • 10.2 获取结构体字段和方法
  • 10.3 反射动态修改值
  • 10.4 获取结构体字段标识
  • 10.5 判断是否实现接口
  • 10.6 动态调用方法
  • 10.7 演练:ORM基本实现
  • 10.8 小结
  • 第11章 Go的Web服务
  • 11.1 HTTP/HTTPS
  • 11.2 WebSocket
  • 11.3 SSE
  • 11.4 演练:构建自己的Web服务器
  • 11.5 小结
  • 第12章 实战:并发聊天
  • 12.1 需求描述
  • 12.2 需求分析
  • 12.3 技术选型
  • 12.4 架构
  • 12.5 代码分析
  • 12.6 小结
展开全部