万本电子书0元读

万本电子书0元读

顶部广告

Go语言从入门到进阶实战电子书

资深程序员、慕课网特邀讲师分享多年的Go语言发经验 详解Go语法及发技巧,深度剖析源网络库cellnet的设计和架构思想 100分钟配套教学视频、72个发实例精讲 用浅显易懂的语言讲解,不让读者有云山雾罩的感觉 用大量实例带领读者学习,让读者在实际动手中提高编程水平 给出了大量的“避坑”技巧,让读者在实际发中少走弯路 实例来自于作者多年的口述教学和技术分享会,广受业界好评

售       价:¥

纸质售价:¥54.40购买纸书

29人正在读 | 0人评论 6.5

作       者:徐波

出  版  社:机械工业出版社

出版时间:2018-05-01

字       数:31.1万

所属分类: 科技 > 计算机/网络 > 程序设计

温馨提示:数字商品不支持退换货,不提供源文件,不支持导出打印

为你推荐

  • 读书简介
  • 目录
  • 累计评论(6条)
  • 读书简介
  • 目录
  • 累计评论(6条)
本书采用“理论+实例”的形式编写,通过大量的实例,结合作者多年的一线发实战经验,全面介绍了Go语言的语法及使用方法。本书作者特意为本书精心录制了详细的配套教学视频,这将极大地提升读者的学习效率。本书分为13章,主要介绍了Go语言的特性与环境搭建、基本语法与使用、容器(存储和组织数据的方式)、流程控制、函数、结构体、口(interface)、包(package)、并发、反射、编译与工具、发技巧,*后的实战演练部分剖析了作者的源网络库cellnet的架构及设计思想,并且实现了Socket聊天功能。本书对于Go语言的特色功能并发有全面、深的讲解,需要读者重学习。本书特别适合Go语言初学者门和阶阅读。另外,本书也适合社会培训学校作为教材使用,还适合大中专院校的相关专业作为教学参考书。<br/>
目录展开

配套学习资源

前言

第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网络库实现聊天功能

累计评论(6条) 6个书友正在讨论这本书 发表评论

发表评论

发表评论,分享你的想法吧!

买过这本书的人还买过

读了这本书的人还在读

回顶部