Go语言从入门到进阶实战(视频教学版)

Go语言从入门到进阶实战(视频教学版)

作者:徐波 编著

出版社:机械工业

出版年:2018年5月

ISBN:9787111598244

所属分类:网络科技

书刊介绍

《Go语言从入门到进阶实战(视频教学版)》内容简介

本书采用“理论+实例”的形式编写,通过大量的实例,结合作者多年的一线开发实战经验,全面介绍了Go语言的语法及使用方法。全书秉承方便学习,易于理解,便于查询的理念,无论是想系统学习Go语言基础知识的初学者,还是想进阶提高的有经验的开发人员,都能通过本书迅速掌握Go语言的各种基础语法和开发技巧。本书作者曾经与慕课网合作录制相关的视频课程,拥有丰富的视频制作经验,所以特意为本书精心录制了详细的配套教学视频,这将极大地提升读者的学习效率,比同类图书取得更好的学习效果。另外,本书还免费提供了书中所有实例源程序,为读者的学习提供便利。
徐波,游戏行业从业十余年,资深全栈游戏开发者,慕课网讲师,开源爱好者(github.com/davyxu),众多Gopher之一。2009年创立“战魂小筑博客”,自2012年开始接触Go语言,开源项目cellnet以及tabtoy导表工具,深受业内好评,并广为流传。

作品目录

配套学习资源
前言
第1章:初识Go语言
1.1、Go语言特性
1.2、使用Go语言的项目
1.3、怎样安装Go语言开发包
1.4、搭建开发环境
第2章:Go语言基本语法与使用
2.1、变量
2.2、数据类型
2.3、转换不同的数据类型
2.4、指针
2.5、变量生命期——变量能够使用的代码范围
2.6、字符串应用
2.7、常量——恒定不变的值
2.8、类型别名(Type
Alias)
第3章:容器:存储和组织数据的方式
3.1、数组——固定大小的连续空间
3.2、切片(slice)——动态分配大小的连续空间
3.3、映射(map)——建立事物关联的容器
3.4、列表(list)——可以快速增删的非连续空间的容器
第4章:流程控制
4.1、条件判断(if)
4.2、构建循环(for)
4.3、示例:九九乘法表
4.4、键值循环(for
range)——直接获得对象的索引和数据
4.5、分支选择(switch)——拥有多个条件分支的判断
4.6、跳转到指定代码标签(goto)
4.7、跳出指定循环(break)——可以跳出多层循环
4.8、继续下一次循环(continue)
第5章:函数(function)
5.1、声明函数
5.2、函数变量——把函数作为值保存到变量中
5.3、示例:字符串的链式处理——操作与数据分离的设计技巧
5.4、匿名函数——没有函数名字的函数
5.5、函数类型实现接口——把函数作为接口来调用
5.6、闭包(Closure)——引用了外部变量的匿名函数
5.7、可变参数——参数数量不固定的函数形式
5.8、延迟执行语句(defer)
5.9、处理运行时发生的错误
5.10、宕机(panic)——程序终止运行
5.11、宕机恢复(recover)——防止程序崩溃
第6章:结构体(struct)
6.1、定义结构体
6.2、实例化结构体——为结构体分配内存并初始化
6.3、初始化结构体的成员变量
6.4、构造函数——结构体和类型的一系列初始化操作的函数封装
6.5、方法
6.6、类型内嵌和结构体内嵌
6.7、示例:使用匿名结构体分离JSON数据
第7章:接口(interface)
7.1、声明接口
7.2、实现接口的条件
7.3、理解类型与接口的关系
7.4、示例:便于扩展输出方式的日志系统
7.5、示例:使用接口进行数据的排序
7.6、接口的嵌套组合——将多个接口放在一个接口内
7.7、在接口和类型间转换
7.8、空接口类型(interface{})——能保存所有值的类型
7.9、示例:使用空接口实现可以保存任意值的字典
7.10、类型分支——批量判断空接口中变量的类型
7.11、示例:实现有限状态机(FSM)
第8章:包(package)
8.1、工作目录(GOPATH)
8.2、创建包package——编写自己的代码扩展
8.3、导出标识符——让外部访问包的类型和值
8.4、导入包(import)——在代码中使用其他的代码
8.5、示例:工厂模式自动注册——管理多个包的结构体
第9章:并发
9.1、轻量级线程(goroutine)——根据需要随时创建的“线程”
9.2、通道(channel)——在多个goroutine间通信的管道
9.3、示例:Telnet回音服务器——TCP服务器的基本结构
9.4、同步——保证并发环境下数据访问的正确性
第10章:反射
10.1、反射的类型对象(reflect.Type)
10.2、反射的值对象(reflect.Value)
10.3、示例:将结构体的数据保存为JSON格式的文本数据
第11章:编译与工具
11.1、编译(go
build)
11.2、编译后运行(go
run)
11.3、编译并安装(go
install)
11.4、一键获取代码、编译并安装(go
get)
11.5、测试(go
test)
11.6、性能分析(go
pprof)——发现代码性能问题的调用位置
第12章:“避坑”与技巧
12.1、合理地使用并发特性
12.2、反射:性能和灵活性的双刃剑
12.3、接口的nil判断
12.4、map的多键索引——多个数值条件可以同时查询
12.5、优雅地处理TCP粘包
第13章:实战演练——剖析cellnet网络库设计并实现Socket聊天功能
13.1、了解cellet网络库特性、流程及架构
13.2、管理TCP
Socket连接
13.3、组织接收和发送数据流程的Socket会话(Session)
13.4、排队处理事件的事件队列(EventQueue)
13.5、消息编码(codec)——让cellnet支持消息的多种编码格式
13.6、消息元信息(MessageMeta)——消息ID、消息名称和消息类型的关联关系
13.7、接收和发送封包(packet)
13.8、使用cellnet网络库实现聊天功能

相关推荐

微信二维码