计算机
类型
可以朗读
语音朗读
283千字
字数
2022-05-01
发行日期
展开全部
主编推荐语
本书从多角度、全方位竭力帮你快速掌握软件开发技能。
内容简介
本书采取“基础知识→核心应用→高级应用→项目实践”的结构和“由浅入深,由深到精”的学习模式进行讲解。
全书共14章。
首先,讲解了Go语言开发环境的搭建及开发工具的使用、程序元素的构成、基本数据类型、流程控制语句等基础知识;
接着,深入介绍了复合数据类型、Go语言函数、结构体与方法等核心应用技术;
然后详细探讨了Go语言接口的实现、Go语言的并发、反射机制及包等高级应用;
最后,在实践环节,通过对网络编程、Go语言的文件处理、编译与工具等内容的讲解,让读者掌握在实际操作中对Go语言的网络编程的处理,同时学会应对出现错误问题的方法。
目录
- 版权信息
- 内容简介
- 前言
- 第1篇 基础知识
- 第1章 走进Go语言的世界
- 1.1 初识Go语言
- 1.1.1 Go语言的诞生
- 1.1.2 Go语言的特性
- 1.1.3 Go语言的使用
- 1.2 部署Go语言的开发环境
- 1.2.1 Go语言的环境变量
- 1.2.2 在Windows上安装Go语言环境
- 1.2.3 在Linux上安装Go语言环境
- 1.2.4 在Mac OS上安装Go语言环境
- 1.3 Go语言开发工具的使用
- 1.3.1 LiteIDE
- 1.3.2 Gogland
- 1.3.3 Visual Studio Code
- 1.4 Go语言的目录结构
- 1.4.1 GOROOT结构
- 1.4.2 GOPATH结构
- 1.5 第一个Go语言程序
- 1.6 就业面试技巧与解析
- 1.6.1 面试技巧与解析(一)
- 1.6.2 面试技巧与解析(二)
- 第2章 Go语言程序元素的构成
- 2.1 词法单元
- 2.1.1 标识符
- 2.1.2 关键字
- 2.1.3 字面量
- 2.1.4 分隔符
- 2.1.5 运算符
- 2.1.6 注释
- 2.2 常量
- 2.2.1 常量的定义
- 2.2.2 常量的声明
- 2.2.3 转义字符
- 2.2.4 赋值
- 2.2.5 枚举
- 2.3 变量
- 2.3.1 变量的声明
- 2.3.2 初始化变量
- 2.3.3 多个变量同时赋值
- 2.3.4 匿名变量
- 2.3.5 变量的作用域
- 2.4 就业面试技巧与解析
- 2.4.1 面试技巧与解析(一)
- 2.4.2 面试技巧与解析(二)
- 第3章 基本数据类型
- 3.1 整型
- 3.1.1 整型的类型与声明
- 3.1.2 整型的运算
- 3.2 浮点型
- 3.3 字符与字符串
- 3.3.1 字符串的表示
- 3.3.2 操作字符串
- 3.3.3 字符串格式化
- 3.4 布尔型
- 3.4.1 布尔型的表示
- 3.4.2 布尔型的运算
- 3.5 数据类型的转换
- 3.6 指针
- 3.6.1 指针地址和指针类型
- 3.6.2 指针的创建
- 3.6.3 从指针获取指向指针的值
- 3.6.4 使用指针修改值
- 3.7 类型别名
- 3.7.1 类型别名与类型定义
- 3.7.2 非本地类型不能定义方法
- 3.7.3 在结构体成员嵌入时使用别名
- 3.8 就业面试技巧与解析
- 3.8.1 面试技巧与解析(一)
- 3.8.2 面试技巧与解析(二)
- 第4章 流程控制
- 4.1 条件判断
- 4.1.1 if语句
- 4.1.2 if-else语句
- 4.1.3 else-if语句
- 4.1.4 使用if语句的注意事项
- 4.2 选择结构
- 4.2.1 switch语句
- 4.2.2 select语句
- 4.3 循环结构
- 4.3.1 for语句
- 4.3.2 range语句
- 4.4 defer语句
- 4.5 标签
- 4.5.1 break语句
- 4.5.2 continue语句
- 4.5.3 goto语句
- 4.6 就业面试技巧与解析
- 4.6.1 面试技巧与解析(一)
- 4.6.2 面试技巧与解析(二)
- 第2篇 核心应用
- 第5章 复合数据类型
- 5.1 数组
- 5.1.1 数组的声明
- 5.1.2 数组的初始化
- 5.1.3 数组的遍历
- 5.1.4 多维数组
- 5.2 切片
- 5.2.1 创建切片
- 5.2.2 使用append()函数添加元素
- 5.2.3 切片的复制
- 5.2.4 切片的删除
- 5.3 映射
- 5.3.1 创建映射
- 5.3.2 映射的遍历
- 5.3.3 map元素的删除和清空
- 5.4 列表
- 5.4.1 初始化列表
- 5.4.2 在列表中插入元素
- 5.4.3 从列表中删除元素
- 5.4.4 列表的遍历
- 5.5 就业面试技巧与解析
- 5.5.1 面试技巧与解析(一)
- 5.5.2 面试技巧与解析(二)
- 第6章 Go语言函数
- 6.1 认识函数
- 6.1.1 函数的声明
- 6.1.2 函数的调用
- 6.1.3 函数的参数
- 6.1.4 函数的返回值
- 6.2 函数类型和匿名函数
- 6.2.1 函数类型
- 6.2.2 匿名函数
- 6.3 函数类型实现接口
- 6.3.1 结构体实现接口
- 6.3.2 函数体实现接口
- 6.4 defer
- 6.4.1 defer的用途
- 6.4.2 执行顺序
- 6.5 闭包
- 6.5.1 什么是闭包
- 6.5.2 在闭包内部修改引用的变量
- 6.6 宕机与宕机恢复
- 6.6.1 宕机(panic)
- 6.6.2 宕机恢复(recover)
- 6.7 错误与处理
- 6.7.1 错误接口
- 6.7.2 自定义错误
- 6.7.3 错误和异常
- 6.8 就业面试技巧与解析
- 6.8.1 面试技巧与解析(一)
- 6.8.2 面试技巧与解析(二)
- 第7章 结构体与方法
- 7.1 结构体
- 7.1.1 结构体的定义
- 7.1.2 创建结构体
- 7.1.3 结构体的使用
- 7.1.4 成员变量的初始化
- 7.1.5 匿名字段和内嵌结构体
- 7.2 类型系统
- 7.2.1 命名类型和未命名类型
- 7.2.2 自定义类型
- 7.2.3 类型的强制转换
- 7.3 方法
- 7.3.1 方法的声明
- 7.3.2 为结构体添加方法
- 7.3.3 为类型添加方法
- 7.3.4 工厂方法创建结构体
- 7.3.5 基于指针对象的方法
- 7.3.6 方法值和方法表达式
- 7.3.7 嵌入类型的方法和继承
- 7.4 就业面试技巧与解析
- 7.4.1 面试技巧与解析(一)
- 7.4.2 面试技巧与解析(二)
- 第3篇 高级应用
- 第8章 Go语言接口的实现
- 8.1 认识接口
- 8.1.1 接口的声明
- 8.1.2 接口初始化
- 8.1.3 接口的方法调用
- 8.2 接口的运算
- 8.2.1 类型断言
- 8.2.2 类型查询
- 8.2.3 接口的使用形式和优点
- 8.3 类型与接口
- 8.3.1 接口类型
- 8.3.2 类型与接口之间的关系
- 8.4 空接口
- 8.4.1 什么是空接口
- 8.4.2 空接口和nil
- 8.4.3 空接口的使用
- 8.5 接口的内部实现
- 8.5.1 数据结构
- 8.5.2 接口的调用过程
- 8.5.3 空接口的数据结构
- 8.6 就业面试技巧与解析
- 8.6.1 面试技巧与解析(一)
- 8.6.2 面试技巧与解析(二)
- 第9章 Go语言的并发
- 9.1 并发基础
- 9.1.1 并发与并行
- 9.1.2 指定使用核心数
- 9.1.3 并发与并行的区别
- 9.2 goroutine
- 9.2.1 什么是goroutine
- 9.2.2 goroutine的创建
- 9.2.3 协程间的通信
- 9.3 通道
- 9.3.1 声明通道类型
- 9.3.2 创建通道
- 9.3.3 通道的作用
- 9.3.4 select
- 9.3.5 缓冲机制
- 9.3.6 通道的传递
- 9.3.7 单向通道
- 9.3.8 关闭通道
- 9.3.9 超时和计时器
- 9.4 并发的进阶
- 9.4.1 多核并行化
- 9.4.2 协程的同步
- 9.4.3 协程与恢复
- 9.4.4 生成器
- 9.4.5 并发模型
- 9.5 就业面试技巧与解析
- 9.5.1 面试技巧与解析(一)
- 9.5.2 面试技巧与解析(二)
- 第10章 反射机制
- 10.1 反射的类型对象
- 10.1.1 反射的类型(Type)与种类(Kind)
- 10.1.2 指针与指针指向的元素
- 10.1.3 使用反射获取结构体的成员类型
- 10.1.4 结构体标签
- 10.2 反射的值对象
- 10.2.1 使用反射值对象包装任意值
- 10.2.2 从反射值对象获取被包装的值
- 10.2.3 使用反射访问结构体的成员字段的值
- 10.2.4 反射对象的空和有效性判断
- 10.2.5 使用反射值对象修改变量的值
- 10.2.6 通过类型创建类型
- 10.2.7 使用反射调用函数
- 10.3 反射的规则
- 10.3.1 反射API
- 10.3.2 反射三定律
- 10.4 inject库
- 10.4.1 依赖注入和控制反转
- 10.4.2 inject
- 10.4.3 inject的原理分析
- 10.5 反射的优点和缺点
- 10.6 就业面试技巧与解析
- 10.6.1 面试技巧与解析(一)
- 10.6.2 面试技巧与解析(二)
- 第11章 包
- 11.1 包的概念
- 11.1.1 什么是包
- 11.1.2 包的结构
- 11.1.3 常用内置包
- 11.1.4 包的导入
- 11.1.5 包的使用
- 11.1.6 Go语言工具箱
- 11.2 包的工作目录(GOPATH)
- 11.2.1 如何查看GOPATH
- 11.2.2 GOPATH的工程结构
- 11.2.3 设置和使用GOPATH
- 11.2.4 在多项目工程中使用GOPATH
- 11.3 创建包
- 11.4 导出标识符
- 11.4.1 导出包内标识符
- 11.4.2 导出结构体及接口成员
- 11.5 自定义包
- 11.5.1 包的制作
- 11.5.2 特定平台的代码
- 11.5.3 godoc生成文档
- 11.5.4 包的打包与发布
- 11.5.5 自定义包的导入
- 11.6 sync包与锁
- 11.6.1 互斥锁
- 11.6.2 读写锁
- 11.7 就业面试技巧与解析
- 11.7.1 面试技巧与解析(一)
- 11.7.2 面试技巧与解析(二)
- 第4篇 项目实践
- 第12章 网络编程
- 12.1 Socket编程
- 12.1.1 什么是Socket
- 12.1.2 Dial()函数
- 12.1.3 TCP Socket
- 12.1.4 UDP Socket
- 12.2 HTTP编程
- 12.2.1 HTTP客户端
- 12.2.2 HTTP服务器端
- 12.3 数据库
- 12.3.1 database/sql接口
- 12.3.2 使用MySQL数据库
- 12.3.3 使用SQLite数据库
- 12.3.4 使用PostgreSQL数据库
- 12.3.5 NoSQL数据库操作
- 12.4 Cookie
- 12.4.1 设置Cookie
- 12.4.2 读取Cookie
- 12.5 就业面试技巧与解析
- 12.5.1 面试技巧与解析(一)
- 12.5.2 面试技巧与解析(二)
- 第13章 Go语言的文件处理
- 13.1 文件操作
- 13.1.1 创建文件与查看状态
- 13.1.2 重命名与移动
- 13.1.3 打开与关闭
- 13.1.4 删除与截断
- 13.1.5 读写文件
- 13.1.6 权限控制
- 13.1.7 文件链接
- 13.2 XML文件处理
- 13.2.1 解析XML
- 13.2.2 生成XML
- 13.2.3 XML文件的读写操作
- 13.3 JSON文件处理
- 13.3.1 解析JSON
- 13.3.2 生成JSON
- 13.3.3 JSON文件的读写操作
- 13.4 日志记录
- 13.4.1 Logrus
- 13.4.2 Seelog
- 13.5 压缩
- 13.5.1 打包与压缩
- 13.5.2 压缩与解压
- 13.6 就业面试技巧与解析
- 13.6.1 面试技巧与解析(一)
- 13.6.2 面试技巧与解析(二)
- 第14章 编译与工具
- 14.1 编译
- 14.1.1 go build无参数编译
- 14.1.2 go build+文件列表
- 14.1.3 go build+包
- 14.1.4 go build编译时的附加参数
- 14.2 编译后运行
- 14.3 编译并安装
- 14.4 清除编译文件
- 14.5 格式化代码文件
- 14.6 一键获取代码、编译并安装
- 14.6.1 远程包的路径格式
- 14.6.2 go get+远程包
- 14.6.3 go get使用时的附加参数
- 14.7 编译前自动化生成代码
- 14.8 测试
- 14.8.1 单元测试
- 14.8.2 基准测试
- 14.9 性能分析
- 14.9.1 安装图形化显示分析数据工具
- 14.9.2 安装第三方性能分析来分析代码包
- 14.9.3 性能分析
- 14.10 就业面试技巧与解析
- 14.10.1 面试技巧与解析(一)
- 14.10.2 面试技巧与解析(二)
展开全部
出版方
清华大学出版社
清华大学出版社成立于1980年6月,是由教育部主管、清华大学主办的综合出版单位。植根于“清华”这座久负盛名的高等学府,秉承清华人“自强不息,厚德载物”的人文精神,清华大学出版社在短短二十多年的时间里,迅速成长起来。清华大学出版社始终坚持弘扬科技文化产业、服务科教兴国战略的出版方向,把出版高等学校教学用书和科技图书作为主要任务,并为促进学术交流、繁荣出版事业设立了多项出版基金,逐渐形成了以出版高水平的教材和学术专著为主的鲜明特色,在教育出版领域树立了强势品牌。