0 0 0

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

刀尖舔血
8天前 200
我用夸克网盘分享了「Go语言从入门到进阶实战(视频教学版).epub」,点击链接即可保存。打开「夸克APP」在线查看,支持多种文档格式转换。
Go语言从入门到进阶实战(视频教学版) 作者: 徐波 出版社: 机械工业出版社 出版年: 2018-6 页数: 398 定价: 99 装帧: 平装 ISBN: 9787111598244

内容简介

本书采用“理论+实例”的形式编写,通过大量的实例,结合作者多年的一线开发实战经验,全面介绍了Go语言的语法及使用方法。全书秉承方便学习,易于理解,便于查询的理念,无论是想系统学习Go语言基础知识的初学者,还是想进阶提高的有经验的开发人员,都能通过本书迅速掌握Go语言的各种基础语法和开发技巧。本书作者曾经与慕课网合作录制相关的视频课程,拥有丰富的视频制作经验,所以特意为本书精心录制了详细的配套教学视频,这将极大地提升读者的学习效率,比同类图书取得更好的学习效果。另外,本书还免费提供了书中所有实例源程序,为读者的学习提供便利。

作者简介

徐波 游戏行业从业十余年,资深全栈游戏开发者,慕课网讲师,开源爱好者(github.com/davyxu),众多Gopher之一。2009年创立“战魂小筑博客”,自2012年开始接触Go语言,开源项目cellnet以及tabtoy导表工具,深受业内好评,并广为流传。

网友热评

Benqiang.Yu: 这个是在工作中做协议栈的时候需要GO语言;通过简单的例子带编程者入门。 谢小漫: 很多概念语言是错误的,看多几本go的书籍就知道了。快速刷过 旅行者: 不知道我微信读书里面怎么会有这本书,读读看吧~ 觉得一般,就像国内的很多教材一样。把所有的知识都铺开,不用思考,传功灌顶~但作为入门书还行

图书目录

配套学习资源 前言 第1章初识Go语言 1.1Go语言特性 1.2使用Go的开源项目 1.3学会安装Go 1.3.1Windows版安装 1.3.2Linux版安装 1.4搭建开发环境 1.4.1集成开发环境JetbrainsGoland 1.4.2方便定义功能的编辑器VisualStudioCode 第2章基本语法与使用 2.1变量 2.1.1声明变量 2.1.2初始化变量 2.1.3多个变量同时赋值 2.1.4匿名变量——没有名字的变量 2.2类型 2.2.1整形 2.2.2浮点——小数点 2.2.3示例:输出正弦(sin)图像 2.2.4布尔——是或否 2.2.5字符串 2.2.6字符 2.2.7切片——能动态分配的空间 2.3转换不同的数据类型 2.4指针 2.4.1认识指针地址和指针类型 2.4.2从指针获取指针指向的值 2.4.3使用指针修改值 2.4.4示例:使用指针变量获取命令行的输入信息 2.4.5创建指针的另一种方法——new函数 2.5变量生命期 2.5.1什么是栈? 2.5.2什么是堆? 2.5.3变量逃逸分析(EscapeAnalysis)——自动决定变量分配位置,提高运行效率 2.6字符串应用 2.6.1计算字符串长度 2.6.2遍历字符串——获取每一个字符串元素 2.6.3获取字符串的某一段字符 2.6.4修改字符串 2.6.5连接字符串 2.6.6格式化字符串——按照指定格式生成字符串 2.6.7示例:Base64编码——电子邮件的基础编码格式 2.6.8示例:从INI配置文件中查询需要的值 2.7常量——恒定不会改变的值 2.7.2枚举——一组常量值 2.7.3将枚举值转换为字符串 2.8类型别名(TypeAlias) 2.8.1区分类型别名与类型定义 2.8.2非本地类型不能定义方法 2.8.3在结构体成员嵌入时使用别名 第3章容器:存储和组织数据的方式 3.1数组——固定大小的连续空间 3.1.1声明数组 3.1.2初始化数组 3.1.3遍历数组——访问每一个数组元素 3.2切片(slice)——动态分配大小的连续空间 3.2.1从数组或切片生成新的切片 3.2.2声明切片 3.2.3使用make构造切片 3.2.4使用append为切片添加元素 3.2.5复制切片元素到另一个切片 3.2.6从切片中删除元素 3.3映射(map)——建立事物关联的容器 3.3.1添加关联到map并访问关联和数据 3.3.3遍历map的“键值对”——访问每一个map中的关联关系 3.3.4从map中删除键值对(delete) 3.3.5清空map中的所有元素 3.3.6能够在并发环境中使用的map——sync.Map 3.4列表(list)——可以快速增删的非连续空间的容器 3.4.1初始化列表 3.4.2在列表中插入元素 3.4.3从列表中删除元素 3.4.4遍历列表——访问列表的每一个元素 第4章流程控制 4.2构建循环(for) 4.2.1for中的初始语句——开始循环时执行的语句 4.2.2for中的条件表达式——控制是否循环的开关 4.2.3for中的结束语句——每次循环结束时执行的语句 4.3示例:九九乘法表 4.4键值循环(forrange)——直接获得对象的索引和数据 4.4.1遍历数组、切片——获得索引和元素 4.4.2遍历字符串——获得字符 4.4.3遍历map——获得map的键和值 4.4.4遍历通道(channel)——接收通道数据 4.4.5在遍历中选择希望获得的变量 4.5分支选择(switch)——拥有多个条件分支的判断 4.5.1基本写法 4.5.2跨越case的fallthrough——兼容C语言的case设计 4.6跳转到指定代码标签(goto) 4.6.1使用goto退出多层循环 4.6.2使用goto集中处理错误 4.7跳出指定循环(break)——可以跳出多层循环 4.8继续下一次循环(continue) 第5章函数(function) 5.1声明函数 5.1.1普通函数的声明形式 5.1.2参数类型的简写 5.1.3函数的返回值 5.1.4调用函数 5.1.5示例:将“秒”解析为时间单位 5.1.6示例:函数中的参数传递效果测试 5.2函数变量——把函数作为值保存到变量 5.3示例:字符串的链式处理——操作与数据分离的设计技巧 5.4匿名函数——没有函数名字的函数 5.4.1定义一个匿名函数 5.4.1匿名函数用作回调函数 5.4.2使用匿名函数实现操作封装 5.5函数类型实现接口——把函数当做接口调用 5.5.1结构体实现接口 5.5.2函数体实现接口 5.5.3http包中的例子 5.6闭包(Closure)——引用了外部变量的匿名函数 5.6.1在闭包内部修改引用的变量 5.6.2示例:闭包的记忆效应 5.6.3示例:闭包实现生成器 5.7可变参数——参数数量不固定的函数形式 5.7.1fmt包中的例子 5.7.1遍历可变参数列表——获取每一个参数的值 5.7.2获得可变参数类型——获得每一个参数的类型 5.7.3在多个可变参数函数中传递参数 5.8延迟执行语句(defer) 5.8.1多个延迟执行语句的处理顺序 5.8.1使用延迟执行语句在函数退出时释放资源 5.9处理运行时发生的错误 5.9.1net包中例子 5.9.1错误接口的定义格式 5.9.2自定义一个错误 5.9.3示例:在解析中使用自定义错误 5.10宕机(panic)——程序终止运行 5.10.1手动触发宕机 5.10.2在运行依赖的必备资源缺失时主动触发宕机 5.10.3在宕机时触发延迟执行语句 5.11宕机恢复(recover)——防止程序崩溃 5.11.1让程序在崩溃时继续执行 5.11.2panic和recover的关系 第6章结构体(struct) 6.1定义结构体 6.2实例化结构体——为结构体分配内存并初始化 6.2.1基本的实例化形式 6.2.2创建指针类型的结构体 6.2.3取结构体的地址实例化 6.3初始化结构体的成员变量 6.3.1使用“键值对”初始化结构体 6.3.2使用多个值的列表初始化结构体 6.3.3初始化匿名结构体 6.4构造函数——结构体和类型的一系列初始化操作的函数封装 6.4.1多种方式创建和初始化结构体——模拟构造函数重载 6.4.2带有父子关系的结构体的构造和初始化——模拟父级构造调用 6.5方法 6.5.1为结构体添加方法 6.5.2接收器——方法作用的目标 6.5.3示例:使用二维矢量模拟玩家移动 6.5.4为类型添加方法 6.5.5示例:使用事件系统实现事件的响应和处理 6.6结构体内嵌 6.6.1声明结构体内嵌和内嵌的特性 6.6.2使用组合思想描述对象特性 6.6.3初始化结构体内嵌 6.6.4初始化内嵌匿名结构体 6.6.6成员名字冲突 6.7示例:使用匿名结构体分离JSON数据 第7章接口(interface) 7.1声明接口 7.1.1接口声明的格式 7.1.2开发中常见的接口及写法 7.1实现接口的条件 7.1.1接口被实现的条件一:接口的方法与实现接口的类型方法格式一致 7.1.2条件二:接口中所有方法均被实现 7.2理解类型与接口的关系 7.2.1一个类型可以实现多个接口 7.2.2多个类型可以实现相同的接口 7.3示例:便于扩展输出方式的日志系统 7.4示例:使用接口进行数据的排序 7.4.1使用sort.Interface接口进行排序 7.4.2常见类型的便捷排序 7.4.3对结构体数据进行排序 7.5接口的嵌套组合 ——将多个接口放在一个接口内 7.6在接口和类型间转换 7.6.1类型断言的格式 7.6.2将接口转换为其他接口 7.6.3将接口转换为其他类型 7.7空接口类型(interface{})——能保存所有值的类型 7.7.1将值保存到空接口 7.7.2从空接口获取值 7.7.3空接口间的值比较 7.8示例:使用空接口实现可以保存任意值的字典 7.9类型分支——批量判断空接口中变量的类型 7.9.1类型断言的书写格式 7.9.2使用类型分支判断基本类型 7.9.3使用类型分支判断接口类型 7.10示例:实现有限状态机(FSM) 第8章包(package) 8.1工作目录(GOPATH) 8.1.1使用命令行查看GOPATH信息 8.1.2使用GOPATH的工程结构 8.1.2设置和使用GOPATH 8.1.3在多项目工程中使用GOPATH 8.2创建包(package)——编写自己的代码扩展 8.3包在程序启动前的初始化入口:init 8.4导出标示符——让外部访问包的类型和值 8.4.1导出包内标示符 8.4.2导出结构体及接口成员 8.5导入包(import)——在代码中使用其他的代码 8.5.1默认导入的写法 8.5.2导入包后自定义引用的包名 8.5.2匿名导入包——只导入包但不使用包内类型和数值 8.5.3理解包导入初始化顺序 8.6示例:工厂模式自动注册 ——管理多个包的结构体 第9章并发 9.1轻量级线程(goroutine)——根据需要随时创建的“线程” 9.1.1使用普通函数创建goroutine 9.1.2使用匿名函数创建goroutine 9.1.3调整并发的运行性能(GOMAXPROCS) 9.1.4理解并发和并行 9.1.5理解Go的协作程序(goroutine)和普通的协作程序(coroutine) 9.2通道(channel) ——在多个goroutine间通信的管道 9.2.1通道的特性 9.2.2声明通道类型 9.2.3创建通道 9.2.4使用通道发送数据 9.2.5使用通道接收数据 9.2.6关闭通道后继续使用通道 9.2.7示例:并发打印 9.2.8单向通道——通道中的单行道 9.2.9带缓冲的通道——允许在通道中保存一定数量的数据 9.2.10通道的多路复用——同时处理接收和发送多个通道的数据 9.2.11示例:模拟远程过程调用(RPC) 9.2.12示例:使用通道响应计时器的事件 9.3示例:Telnet回音服务器——TCP服务器的基本结构 9.4同步——保证并发环境下数据访问的正确性 9.4.1竞态检测——检测代码在并发环境下可能出现的问题 9.4.2互斥锁(sync.Mutex)——保证同时只有一个goroutine可以访问共享资源 9.4.3读写互斥锁(sync.RWMutex)——在读比写多的环境下比互斥锁更高效 9.4.4等待组(sync.WaitGroup)——保证在并发环境中完成指定数量的任务 第10章反射 10.1反射的类型对象(reflect.Type) 10.1.1理解反射的类型(Type)与种类(Kind) 10.1.2指针与指针指向的元素 10.1.3使用反射获取结构体的成员类型 10.1.4结构体标记(StructTag)——对结构体字段的额外信息标记 10.2反射的值对象(reflect.Value) 10.2.1使用反射值对象包装任意值 10.2.2从反射值对象获取被包装的值 10.2.3使用反射访问结构体的成员字段的值 10.2.4判定反射的零值和空 10.2.5使用反射值对象修改变量的值 10.2.6通过类型创建类型的实例 10.2.7使用反射调用函数 10.3示例:将结构体的数据保存为JSON格式的文本数据 第11章编译与工具 11.1编译(gobuild) 11.1.1gobuild无参数编译 11.1.2gobuild+文件列表 11.1.3gobuild+包 11.1.4gobuild编译时的附加参数 11.2编译后运行(gorun) 11.3编译并安装(goinstall) 11.2一键获取代码、编译并安装(goget) 11.2.1远程包的路径格式 11.2.2goget+远程包 11.2.3goget使用时的附加参数 11.3测试(gotest) 11.3.1单元测试——测试和验证代码的框架 11.3.2基准测试——获得代码内存占用和运行效率的性能数据 11.4性能分析(gopprof)——发现代码性能问题的调用位置 11.4.1安装第三方图形化显式分析数据工具(Graphviz) 11.4.2安装第三方性能分析分析代码包 11.4.3性能分析代码 第12章避坑与技巧 12.1合理的使用并发特性 12.1.1了解goroutine的生命期时再创建goroutine 12.1.2避免在不必要的地方使用通道 12.2反射:性能和灵活性的双刃剑 12.3接口的nil判断 12.4map的多键索引——多个数值条件可以同时查询 12.4.1基于哈希值的多键索引及查询 12.4.2利用map特性的多键索引及查询 12.4.3总结 12.5优雅的处理TCP粘包——一套完备的TCP协议的客户端和服务器框架

Go语言从入门到进阶实战(视频教学版).epub"网盘下载"

版权说明

1、本站不保存、不存储任何实质资源,以上二维码指向为网盘资源链接,其内容归对应版权方所有
2、如有侵犯版权的情况,请点击下面举报/反馈按钮反馈或发送邮件76556431@qq.com投诉说明情况
3、我们核实后将第一时间删除相关页面内容,谢谢理解和配合

这些人下载过 (12)
  • 你会发光呦
  • 对不起我心软了
  • 痛哭余生
  • 呜呼啦
  • 前一秒
  • 不乱性
  • 钢铁大侠
  • 庭外院说客
  • 所谓的在乎
  • 阳光如此刺眼
  • 看我遍体鳞伤是有多爽
  • 清红造了个白
最新回复 (0)

    暂无评论

请先登录后发表评论!

返回
请先登录后发表评论!