- ISBN:9787115445353
- 装帧:一般胶版纸
- 册数:暂无
- 重量:暂无
- 开本:16开
- 页数:224
- 出版时间:2021-04-01
- 条形码:9787115445353 ; 978-7-115-44535-3
本书特色
即便不处理类似可扩展的Web 并发或者实时性能等复杂的系统编程问题,应用程序开发也是一件非常困难的事情。尽管使用一些工具和框架也可以解决这些常见的问题,但Go 语言却以一种更加自然且高效的方式正确处理了这类问题。由谷歌公司开发的Go 语言,为在基础设施中非常依赖高性能服务的初创公司和大企业提供了足够的能力。Go语言实战目标读者是已经有一定其他编程语言经验,想要开始学习Go 语言或者更深入了解Go 语言及其内部机制的中级开发 者。本书会提供一个专注、全面且符合习惯的视角。本书关注Go 语言的规范和实现,涉及的内容包括语法、Go 的类型系统、并发、通道和测试等主题。Go语言实战 主要内容 ● Go语言规范和实现。 ● Go语言的类型系统。 ● Go语言的数据结构的内部实现。 ● 测试和基准测试。Go语言实战假设读者是熟练使用其他语言(如Java、Ruby、Python、C# 或者C++)的开发 者。
内容简介
Go语言结合了底层系统语言的能力以及现代语言的高 级特性,旨在降低构建简单、可靠、高效软件的门槛。本书向读者提供一个专注、全面且符合语言习惯的视角。Go语言实战同时关注语言的规范和实现,涉及的内容包括语法、类型系统、并发、管道、测试,以及其他一些主题。
目录
1.1 用Go解决现代编程难题 2
1.1.1 开发速度 2
1.1.2 并发 3
1.1.3 Go语言的类型系统 5
1.1.4 内存管理 7
1.2 你好,Go 7
1.3 小结 8
第 2章 快速开始一个Go程序 9
2.1 程序架构 9
2.2 main包 11
2.3 search包 13
2.3.1 search.go 13
2.3.2 feed.go 21
2.3.3 match.go/default.go 24
2.4 RSS匹配器 30
2.5 小结 36
第3章 打包和工具链 37
3.1 包 37
3.1.1 包名惯例 38
3.1.2 main包 38
3.2 导入 39
3.2.1 远程导入 40
3.2.2 命名导入 40
3.3 函数init 41
3.4 使用Go的工具 42
3.5 进一步介绍Go开发工具 44
3.5.1 go vet 44
3.5.2 Go代码格式化 45
3.5.3 Go语言的文档 45
3.6 与其他Go开发 者合作 48
3.7 依赖管理 48
3.7.1 第三方依赖 49
3.7.2 对gb的介绍 50
3.8 小结 52
第4章 数组、切片和映射 53
4.1 数组的内部实现和基础功能 53
4.1.1 内部实现 53
4.1.2 声明和初始化 54
4.1.3 使用数组 55
4.1.4 多维数组 58
4.1.5 在函数间传递数组 59
4.2 切片的内部实现和基础功能 60
4.2.1 内部实现 60
4.2.2 创建和初始化 61
4.2.3 使用切片 63
4.2.4 多维切片 74
4.2.5 在函数间传递切片 75
4.3 映射的内部实现和基础功能 76
4.3.1 内部实现 76
4.3.2 创建和初始化 78
4.3.3 使用映射 79
4.3.4 在函数间传递映射 81
4.4 小结 82
第5章 Go语言的类型系统 83
5.1 用户定义的类型 83
5.2 方法 87
5.3 类型的本质 90
5.3.1 内置类型 91
5.3.2 引用类型 91
5.3.3 结构类型 93
5.4 接口 95
5.4.1 标准库 96
5.4.2 实现 98
5.4.3 方法集 99
5.4.4 多态 103
5.5 嵌入类型 105
5.6 公开或未公开的标识符 113
5.7 小结 121
第6章 并发 122
6.1 并发与并行 122
6.2 goroutine 125
6.3 竞争状态 132
6.4 锁住共享资源 135
6.4.1 原子函数 135
6.4.2 互斥锁 138
6.5 通道 140
6.5.1 无缓冲的通道 141
6.5.2 有缓冲的通道 146
6.6 小结 149
第7章 并发模式 150
7.1 runner 150
7.2 pool 158
7.3 work 168
7.4 小结 174
第8章 标准库 176
8.1 文档与源代码 177
8.2 记录日志 178
8.2.1 log包 179
8.2.2 定制的日志记录器 182
8.2.3 结论 186
8.3 编码/解码 187
8.3.1 解码JSON 187
8.3.2 编码JSON 192
8.3.3 结论 193
8.4 输入和输出 193
8.4.1 Writer和Reader接口 194
8.4.2 整合并完成工作 195
8.4.3 简单的curl 199
8.4.4 结论 200
8.5 小结 200
第9章 测试和性能 201
9.1 单元测试 201
9.1.1 基础单元测试 202
9.1.2 表组测试 205
9.1.3 模仿调用 208
9.1.4 测试服务端点 212
9.2 示例 217
9.3 基准测试 220
9.4 小结 224
作者简介
William Kennedy是一位熟练的软件开发 者,也是博客GoingGo.Net的作者。Brian Ketelsen和Erik St. Martin是全球Go语言大会GopherCon的组织者,也是Go语言框架Skynet的联合作者。译者简介李兆海,多年专注于后端分布式网络服务开发,曾使用过多个流行后端技术和相关架构实践,是Go语言和Docker的早期使用者和推广者,《第 1本Docker书》的译者。作为项目技术负责人,成功开发了百万用户级直播系统。
-
全图解零基础word excel ppt 应用教程
¥12.0¥48.0 -
C Primer Plus 第6版 中文版
¥62.6¥108.0 -
零信任网络:在不可信网络中构建安全系统
¥37.2¥59.0 -
有限与无限的游戏:一个哲学家眼中的竞技世界
¥37.4¥68.0 -
硅谷之火-人与计算机的未来
¥20.3¥39.8 -
机器人的天空
¥26.9¥56.0 -
情感计算
¥66.8¥89.0 -
大模型RAG实战 RAG原理、应用与系统构建
¥74.3¥99.0 -
LINUX企业运维实战(REDIS+ZABBIX+NGINX+PROMETHEUS+GRAFANA+LNMP)
¥55.2¥69.0 -
AI虚拟数字人:商业模式+形象创建+视频直播+案例应用
¥67.4¥89.8 -
LINUX实战——从入门到精通
¥49.0¥69.0 -
剪映AI
¥52.8¥88.0 -
快速部署大模型:LLM策略与实践(基于ChatGPT等大语言模型)
¥56.9¥79.0 -
数据驱动的工业人工智能:建模方法与应用
¥68.3¥99.0 -
深度学习高手笔记 卷2:经典应用
¥90.9¥129.8 -
纹样之美:中国传统经典纹样速查手册
¥76.3¥109.0 -
UG NX 12.0数控编程
¥24.8¥45.0 -
MATLAB计算机视觉与深度学习实战(第2版)
¥90.9¥128.0 -
UN NX 12.0多轴数控编程案例教程
¥24.3¥38.0 -
实战知识图谱
¥48.3¥69.0