Go并发编程实战

Go并发编程实战

查阅电子书
手机扫码
  • 微信扫一扫

    关注微信公众号

因版权原因待上架

编辑推荐

全书11章,涵盖Go语言基础、面向对象、IO文件处理,并发、Web应用及实战项目。

内容简介

全书分为11章,第1章是所有技术类原因的基础,就是环境和历史。第2~6章是Go语言的语法基础,包括常量变量、流程控制、函数、复合数据类型这些最基础的语法,第7章是面向对象,这也是语言必学基础。第8章学习Go语言的IO文件处理。第9章和第10章分别是Go语言的两个应用方向,并发和Web。最后一章通过一个并发聊天项目完善和复习前面所学。

章节目录

封面页

书名页

版权页

内容简介

前言

目录

第1章 搭建Go开发环境

1.1 Go的语言特性

1.2 安装

1.2.1 Windows下安装Go

1.2.2 Linux下安装Go

1.3 配置环境变量

1.3.1 Windows下的环境变量配置

1.3.2 Linux下的环境变量配置

1.4 第一个Go程序

1.4.1 搭建本书项目代码结构

1.4.2 创建并运行第一个Go程序

1.4.3 Go程序的编译

1.4.4 Go的帮助系统

1.5 运行时

1.6 编译器

1.6.1 词法分析和语法分析

1.6.2 类型检查

1.6.3 生成SSA中间代码

1.6.4 生成机器代码

1.7 Go程序的集成开发环境

1.8 演练:Exit自动退出程序

1.9 本章小结

第2章 Go程序的基础要素

2.1 命名规范

2.2 包

2.2.1 包的导入

2.2.2 包的嵌套

2.2.3 特殊的init函数

2.3 数据类型

2.3.1 字符串类型

2.3.2 数值类型

2.3.3 布尔类型

2.3.4 派生类型

2.4 常量

2.5 变量

2.6 运算符

2.6.1 算术运算符

2.6.2 关系运算符

2.6.3 逻辑运算符

2.6.4 位运算符

2.6.5 赋值运算符

2.6.6 特殊运算符

2.6.7 运算符的优先级

2.7 注释

2.8 类型转换

2.9 演练:原子计算器

2.10 小结

第3章 函数

3.1 函数的结构

3.1.1 Go语言函数的基本结构

3.1.2 函数中的变量存储(堆栈)

3.1.3 函数返回函数

3.2 函数返回多个值的特性

3.3 作用域

3.4 匿名函数

3.4.1 匿名函数的即时调用

3.4.2 匿名函数的重复调用

3.5 变长函数

3.6 递归函数

3.6.1 使用递归函数求解斐波那契数列

3.6.2 使用循环代替递归的方法

3.7 回调函数

3.8 闭包

3.9 defer关键字

3.10 演练:原子计算器2.0迭代版

3.11 小结

第4章 流程控制与错误处理

4.1 if判断

4.1.1 if语句的基本语法

4.1.2 if语句中的变量作用域

4.2 switch条件判断语句

4.2.1 switch语句中的基本语法

4.2.2 fallthrough穿透

4.2.3 case多个表达式

4.2.4 switch省略判断条件

4.3 for循环语句

4.4 break与continue

4.5 Go的错误处理机制

4.5.1 error

4.5.2 panic

4.6 演练:哲学的三段论

4.7 小结

第5章 复合数据类型

5.1 type关键字

5.2 struct类型

5.2.1 声明struct

5.2.2 struct作为函数的参数

5.2.3 给struct定义方法

5.2.4 struct嵌套

5.3 匿名struct类型

5.4 数组

5.4.1 创建数组

5.4.2 数组作为函数的参数

5.4.3 二维数组

5.4.4 数组元素是struct

5.5 切片

5.5.1 切片的内部实现

5.5.2 切片的切割

5.5.3 切片的扩容

5.5.4 切片作为函数的参数

5.6 字典

5.6.1 创建字典

5.6.2 字典作为函数的参数

5.7 range关键字

5.8 演练:内存数据库

5.9 小结

第6章 指针

6.1 内存地址

6.2 指针的应用

6.2.1 什么是指针

6.2.2 声明指针

6.2.3 关键字new

6.2.4 获取元素地址

6.2.5 unsafe包

6.2.6 指针的指针

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.1.1 整块读取

8.1.2 分字节读取

8.1.3 分行读取

8.2 文件写入

8.2.1 整块写入

8.2.2 分字节写入

8.2.3 分行写入

8.3 自己开发io包下的读写接口

8.4 目录操作

8.4.1 目录的基本操作

8.4.2 目录的遍历

8.5 演练:property配置文件的操作

8.6 小结

第9章 图解并发编程

9.1 单核并发

9.2 锁机制

9.3 并行——多核并行

9.4 Go调度器

9.5 协程

9.6 协程间通信

9.6.1 共享变量

9.6.2 信道

9.7 无缓冲信道

9.8 有缓冲信道

9.9 信道和缓冲生成I/O流

9.10 协程调试

9.10.1 死锁

9.10.2 数据竞争

9.10.3 协程泄漏

9.11 协程性能测试

9.11.1 Go语言自带的测试工具

9.11.2 性能测试工具pprof

9.11.3 追踪分析工具go tool trace

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.1.1 HTTP协议原理

11.1.2 HTTPS协议原理

11.1.3 Go语言的net/http包

11.1.4 使用Go语言构建HTTP Web服务程序

11.2 WebSocket

11.2.1 WebSocket协议原理

11.2.2 使用Go语言实现WebSocket服务端

11.2.3 使用Go语言实现WebSocket客户端

11.3 SSE

11.3.1 SSE技术原理

11.3.2 使用Go语言实现SSE通信

11.4 演练:构建自己的Web服务器

11.5 小结

第12章 实战:并发聊天

12.1 需求描述

12.2 需求分析

12.3 技术选型

12.4 架构

12.5 代码分析

12.6 小结

Go并发编程实战是2020年由清华大学出版社出版,作者汪明。

得书感谢您对《Go并发编程实战》关注和支持,如本书内容有不良信息或侵权等情形的,请联系本网站。

购买这本书

你可能喜欢
Scratch项目式编程实战:打造超酷大型游戏 电子书
本书特色创新突破图形化编程案例形式,聚焦打造超酷有趣大型项目,全彩印刷,完整代码掌握如何运用知识,一步步创作一个“超级玛丽”式超酷大型通关游戏项目项目式学习体系,真正掌握如何运用所学的编程知识,全面提升计算思维内容要点聚焦于打造一个超酷的大型项目,全面升级计算思维与编程技能。不同于制作各种小项目,本书将带领你创作一个结构完整、功能完善、效果突出,且具有丰富拓展性的大型游戏项目。本书采用项目式学习的
用Go语言自制解释器 电子书
从零开始,用GO语言创造出另一门语言,体验从无到有实现类C语言的乐趣。
Java编程技术与项目实战(第2版) 电子书
本书从Java语言的基本特点入手,全面介绍了Java语言的基本概念和编程方法,并扼要介绍了Java的高特。全书内容涉及Java基本语法、数据类型、异常、界面设计、小应用程序、I/O数据流、线程等内容,这些内容基本覆盖了Java的实用技术,是进一步使用Java进行技术开发的基础。
软件定义安全及可编程对抗系统实战 电子书
软件定义安全由软件定义网络引申而来,实现安全由业务和应用驱动,从而实现复杂网络的安全防护,提升安全防护能力和用户安全体验。可编程对抗防御系统是F5公司提出的一种基于云端的安全服务,可以灵活、便捷地应对各种攻击。《软件定义安全及可编程对抗系统实战》以作者多年的工作经验为基础,详细介绍了软件定义安全以及可编程对抗系统的相关概念和具体应用。本书共分10章,从安全现状、核心问题、防御架构、成功案例等几个方
用Go语言自制编译器 电子书
放下大部头,换一种方式入门编译原理,体验一步步实现类C语言的乐趣。