搜索
高级检索
高级搜索
书       名 :
著       者 :
出  版  社 :
I  S  B  N:
文献来源:
出版时间 :
深入浅出Go语言编程(从原理解析到实战进阶)
0.00     定价 ¥ 109.80
图书来源: 浙江图书馆(由浙江新华配书)
此书还可采购23本,持证读者免费借回家
  • 配送范围:
    浙江省内
  • ISBN:
    9787115619785
  • 作      者:
    作者:阮正平//杜军|责编:杨绣国
  • 出 版 社 :
    人民邮电出版社
  • 出版日期:
    2024-07-01
收藏
畅销推荐
内容介绍
本书是一部从核心概念、设计原理、应用场景、操作方法和实战技巧等维度全面、深入探讨Go语言的著作。书中首先介绍Go语言的基本概念,并通过“hello world”程序引导读者熟悉Go的工具链。接下来逐步深入,介绍面向包的设计、测试框架、错误与异常处理等内容。第8章开始探讨指针和内存逃逸分析,这对于理解Go语言的内存模型至关重要。随后的章节涉及数据结构、面向对象和接口编程等核心知识。从第15章开始,重点转向并发编程,从基本的并发模式到复杂的并发原理,再到内存管理和垃圾回收等高级主题。最后几章关注实际开发中的问题,如使用标准库和第三方库、性能问题分析与追踪,以及重构“hello world”示例代码。 本书适合想要掌握Go语言的基本使用方法,以及了解其底层工作原理和设计实现的初、中级读者阅读。
展开
目录
第1章 Go语言初探
1.1 Go语言的发展里程碑
1.2 云时代Go语言的发展趋势
1.3 Go语言优秀的语言特性
1.3.1 “少即是多”的设计哲学
1.3.2 强大的runtime
1.3.3 面向接口编程
1.3.4 为工程服务的语言
1.3.5 自带标准化的测试框架
1.3.6 丰富的标准库和第三方库
1.4 强大的生态圈和成功案例
1.5 Go程序是如何运行的
1.6 plan9与Go语言
1.6.1 寄存器
1.6.2 Go语言的反汇编方法
1.6.3 反汇编的查看示例
第2章 “hello world”与工具链
2.1 Go语言的安装和配置
2.1.1 下载和安装
2.1.2 配置Go语言的环境变量
2.1.3 查看配置信息
2.2 第一个程序“hello world”
2.2.1 “hello world”程序的代码说明
2.2.2 代码的编译与运行
2.2.3 “hello world”示例总结
2.3 Go语言的工具链命令
2.3.1 与编译执行有关的工具链命令
2.3.2 获取与安装第三方包
2.3.3 工具包组合命令gotool
2.3.4 跨平台交叉编译
2.3.5 网络代理GOPROXY
第3章 Go语言的基础知识
3.1 Go语言的常用规范
3.1.1 命名与注释
3.1.2 声明
3.1.3 对变量赋值
3.1.4 包和文件
3.2 数据类型
3.2.1 基本类型
3.2.2 非引用类型和引用类型
3.2.3 用户自定义类型
3.2.4 类型别名
3.2.5 传参方式
3.3 变量的本质
3.3.1 类型的两个要素
3.3.2 变量的声明
3.3.3 零值机制
3.3.4 短变量声明与类型转换
3.4 常量
3.4.1 常量iota
3.4.2 常量的类型提升机制
3.5 运算符
3.5.1 算术运算符
3.5.2 比较运算符
3.5.3 逻辑运算符
3.5.4 位运算符
3.5.5 赋值运算符
3.5.6 指针运算符
3.6 结构化语法
3.6.1 循环结构
3.6.2 条件语句
3.6.3 switch-case语句
3.6.4 控制或跳出循环语句的关键字
3.7 类型转换
3.7.1 转换的语法
3.7.2 类型断言
3.8 Go语言的语法糖
3.8.1 短变量声明和new函数
3.8.2 符号“”与切片
3.8.3 forrange
第4章 面向包的设计与依赖管理
4.1 包的使用
4.1.1 包的概述
4.1.2 包的查找方式
4.1.3 包加载的顺序
4.1.4 包中init函数的加载
4.1.5 包加载顺序的示例
4.1.6 包的使用总结
4.2 面向包的设计
4.3 包管理工具GoModule
4.3.1 包管理的方式
4.3.2 GoModule简介
4.3.3 开启GoModule
4.3.4 GoModule的优点
4.3.5 使用GoModule
4.3.6 go.mod文件中的命令
4.3.7 升级依赖包的方法
4.3.8 依赖包版本的选择
4.3.9 语义版本的导入路径语法
4.3.10 GoModule的使用总结
第5章 测试框架
5.1 Go语言中的测试框架
5.1.1 测试使用的约定
5.1.2 标准库testing的辅助功能函数
5.1.3 测试框架示例
5.1.4 使用测试命令
5.2 单元测试
5.2.1 指定测试用例
5.2.2 单元测试之子测试
5.2.3 帮助函数
23.5.1 引用第三方prometheus包
23.5.2 实现自定义的exporter
23.6 代码细节的提升
23.7 总结
5.3 测试代码的覆盖率
5.4 断言
5.5 基准测试
5.5.1 基准测试场景
5.5.2 基准测试的方法
5.5.3 基准测试之子测试
5.5.4 基准测试示例
5.6 与网络有关的模拟测试
5.7 与测试有关的第三方工具
5.7.1 gomock
5.7.2 BDD
第6章 错误与异常处理
6.1 error的引入
6.1.1 预定义的错误类型
6.1.2 快速创建错误类型
6.1.3 自定义错误
6.1.4 接口在错误处理上的妙用
6.1.5 自定义错误的陷阱
6.1.6 获取和处理错误
6.1.7 Go语言作者关于错误处理的观点
6.2 异常处理
6.2.1 panic的使用
6.2.2 defer函数的设计与使用陷阱
6.2.3 recover函数的使用
6.3 面向错误和恢复的设计
6.4 带堆栈信息的error
6.5 标准库errors的改进
6.6 errGroup对象
6.7 日志系统的引入
6.7.1 日志概述
6.7.2 第三方日志框架
第7章 编码与字符串
7.1 字符编码
7.1.1 字符的编码方式
7.1.2 使用字符类型的注意事项
7.2 字符串
7.2.1 字符串的声明和初始化
7.2.2 字符串的数据结构
7.2.3 遍历字符串
7.2.4 字符串的长度问题
7.2.5 字符串的备份
7.2.6 字符串拼接
7.3 字符串与基本类型互转
第8章 指针与内存逃逸分析
8.1 活动帧的作用
8.2 值语义的本质
8.3 指针
8.3.1 指针的由来
8.3.2 指针和指针类型
8.3.3 使用指针运算符的注意事项
8.3.4 nil
展开
加入书架成功!
收藏图书成功!
我知道了(3)
发表书评
读者登录

请选择您读者所在的图书馆

选择图书馆
浙江图书馆
点击获取验证码
登录
没有读者证?在线办证