计算机
类型
可以朗读
语音朗读
145千字
字数
2022-01-01
发行日期
展开全部
主编推荐语
Go语言高级开发实战教程,涵盖基础、Web编程、并发、分布式系统,适合各级别开发者阅读。
内容简介
本书聚焦Go语言的高级开发技巧和应用实战。全书共6章,分别为Go语言基础实战、Go语言高级编程技巧、Go Web编程、Go语言并发编程、分布式系统、Go语言秒杀系统实战。本书简洁而不失技术深度,内容丰富全面,以极简的文字介绍了复杂的案例,是学习Go语言高级开发的实用教程。本书适合Go语言初学者、Go语言中高级开发人员、Web开发工程师等阅读,还可作为大中专院校相关专业和培训学校师生的学习用书。
目录
- 封面
- 前折页
- 书名页
- 版权
- 前言
- 目录
- 第1章 Go语言基础实战
- 1.1 Go语言基础
- 1.1.1 基础语法
- 1.1.2 变量
- 1.1.3 常量
- 1.1.4 运算符
- 1.1.5 流程控制语句
- 1.2 字符串实战技巧
- 1.2.1 字符串基础
- 1.2.2 中文字符串的截取
- 1.2.3 按单词或字节反转字符串
- 1.2.4 生成随机字符串
- 1.2.5 控制大小写
- 1.2.6 去除字符串首尾的空格
- 1.2.7 生成CSV数据
- 1.2.8 解析CSV数据
- 1.2.9 获取中文字符串
- 1.2.10 按指定函数分割字符串
- 1.2.11 合并与分割字符串
- 1.2.12 按照指定函数截取字符串
- 1.2.13 【实战】生成可下载的CSV文件
- 1.2.14 【实战】用Go运行Shell脚本程序
- 1.3 数组和切片基础技巧
- 1.3.1 数组和切片基础
- 1.3.2 迭代处理数组
- 1.3.3 从数组中删除元素
- 1.3.4 将数组转换为字符串
- 1.3.5 检查某个值是否在数组中
- 1.3.6 查找一个元素在数组中的位置
- 1.3.7 查找数组中最大值或最小值元素
- 1.3.8 随机打乱数组
- 1.3.9 删除数组中重复的元素
- 1.4 数组高级技巧
- 1.4.1 一维数组的排序
- 1.4.2 二维数组的排序
- 1.4.3 多维数组声明
- 1.4.4 多维数组遍历
- 1.4.5 多维数组的查询
- 1.4.6 多维数组的修改
- 1.4.7 三维数组生成器
- 1.4.8 【实战】从数据库中获取数据并进行合并处理和导出
- 1.5 map常见实战技巧
- 1.5.1 map基础
- 1.5.2 检查一个键是否在map中
- 1.5.3 json与map互相转化
- 1.5.4 map排序示例
- 1.5.5 map高级使用技巧
- 1.5.6 map排序技巧
- 1.5.7 【实战】从数据库中获取数据并导出特定CSV文件
- 1.6 结构体的使用技巧
- 1.6.1 结构体基础
- 1.6.2 结构体初始化
- 1.6.3 结构体继承
- 1.6.4 结构体组合
- 1.6.5 匿名结构体
- 1.6.6 结构体嵌套
- 1.6.7 结构体字段标签
- 1.6.8 Go语言面向对象编程
- 1.6.9 【实战】模拟二维矢量移动小游戏
- 1.7 接口常用技巧
- 1.7.1 接口的赋值
- 1.7.2 接口的查询
- 1.7.3 接口的组合
- 1.7.4 接口的常见应用
- 1.7.5 接口使用注意事项
- 1.8 Go语言模块管理
- 1.9 通道实战技巧
- 1.9.1 通道基础
- 1.9.2 创建定时通知
- 1.9.3 使用通道传送通道
- 1.9.4 检查通道的长度和容量
- 1.9.5 速率限制
- 1.10 回顾和启示
- 第2章 Go语言高级编程技巧
- 2.1 函数与指针技巧
- 2.1.1 递归函数
- 2.1.2 匿名变量和匿名函数
- 2.1.3 指针
- 2.1.4 函数的参数传递
- 2.1.5 函数使用的常见注意事项
- 2.2 反射应用技巧
- 2.2.1 反射原理
- 2.2.2 反射3大法则简介
- 2.3 Go语言编译
- 2.3.1 编译基础知识
- 2.3.2 Go语言编译原理
- 2.3.3 Go语言编译器入口
- 2.3.4 编译器调试
- 2.4 CGO编程技巧
- 2.4.1 CGO基础使用
- 2.4.2 CGO使用的问题和挑战
- 2.5 错误和异常处理技巧
- 2.5.1 错误和异常简介
- 2.5.2 错误处理的技巧
- 2.5.3 异常处理的技巧
- 2.6 密码学算法技巧
- 2.6.1 Hash算法
- 2.6.2 对称与非对称加密算法
- 2.6.3 椭圆曲线加密算法
- 2.6.4 字符串编码与解码
- 2.7 性能剖析与事件追踪
- 2.7.1 pprof性能剖析
- 2.7.2 trace事件追踪
- 2.8 回顾和启示
- 第3章 Go Web编程
- 3.1 Go Web基础
- 3.1.1 Go语言接收HTTP请求
- 3.1.2 Go语言处理HTTP请求
- 3.2 Go HTTP2编程
- 3.2.1 HTTP简介
- 3.2.2 Go HTTP2编程实例
- 3.3 Go HTTP3编程
- 3.3.1 HTTP3简介
- 3.3.2 Go HTTP3编程实例
- 3.4 Go Socket编程
- 3.4.1 什么是Socket
- 3.4.2 TCP Socket
- 3.4.3 UDP Socket
- 3.4.4 【实战】用Socket开发简易聊天程序
- 3.5 Go MySQL使用技巧
- 3.5.1 Go使用MySQL
- 3.5.2 MySQL常见ORM
- 3.6 Go Redis使用技巧
- 3.6.1 Go Redis常见处理技巧
- 3.6.2 使用Go Redis实现排行榜功能
- 3.7 Go gRPC使用
- 3.7.1 什么是gRPC
- 3.7.2 Go gRPC的使用
- 3.8 【实战】使用gRPC开发一个简易分布式爬虫系统
- 3.9 回顾和启示
- 第4章 Go语言并发编程
- 4.1 并发编程基础
- 4.2 计算机常见并发模型
- 4.2.1 线程和锁
- 4.2.2 演员模型
- 4.2.3 通信顺序进程
- 4.3 Go语言并发模型
- 4.4 Go语言常见并发设计模式
- 4.4.1 屏障模式
- 4.4.2 未来模式
- 4.4.3 管道模式
- 4.4.4 扇出和扇入模式
- 4.4.5 协程池模式
- 4.4.6 发布-订阅模式
- 4.5 同步常用技巧
- 4.5.1 竞态
- 4.5.2 互斥锁
- 4.5.3 读写互斥锁
- 4.5.4 只执行一次
- 4.5.5 等待组
- 4.5.6 竞态检测器
- 4.5.7 并发安全字典
- 4.6 goroutine使用技巧
- 4.6.1 限制并发数量
- 4.6.2 节拍器
- 4.6.3 使用select多路复用
- 4.7 【实战】开发一个并发任务系统
- 4.8 回顾和启示
- 第5章 分布式系统
- 5.1 分布式系统原理
- 5.1.1 什么是分布式系统
- 5.1.2 分布式系统的常见一致性算法
- 5.2 负载均衡简介
- 5.3 常见负载均衡算法
- 5.3.1 轮询调度算法
- 5.3.2 随机算法
- 5.3.3 一致性哈希算法
- 5.3.4 键值范围算法
- 5.4 分布式锁
- 5.4.1 分布式锁简介
- 5.4.2 基于MySQL数据库表实现分布式锁
- 5.4.3 用ZooKeeper实现分布式锁
- 5.4.4 使用Redis的SETNX实现分布式锁
- 5.4.5 使用etcd实现分布式锁
- 5.4.6 分布式锁的选择
- 5.5 Go实现常见的分布式应用
- 5.5.1 用Snowflake框架生成分布式ID
- 5.5.2 Go语言实现Paxos一致性算法
- 5.6 Go语言常见分布式框架
- 5.6.1 Go Micro框架
- 5.6.2 Consul框架
- 5.7 回顾和启示
- 第6章 Go语言秒杀系统实战
- 6.1 秒杀系统简介
- 6.1.1 高并发系统简介
- 6.1.2 秒杀系统简介
- 6.2 秒杀系统架构
- 6.2.1 架构原则
- 6.2.2 秒杀系统架构
- 6.3 HTML静态页面开发
- 6.3.1 秒杀页面设计
- 6.3.2 秒杀页面静态化
- 6.3.3 客户端限流
- 6.4 服务器端开发
- 6.4.1 代理层设计
- 6.4.2 应用层实现
- 6.4.3 数据库层隔离
- 6.5 压力测试
- 6.6 回顾与启示
- 后折页
- 封底
展开全部
出版方
机械工业出版社
机械工业出版社是全国优秀出版社,自1952年成立以来,坚持为科技、为教育服务,以向行业、向学校提供优质、权威的精神产品为宗旨,以“服务社会和人民群众需求,传播社会主义先进文化”为己任,产业结构不断完善,已由传统的图书出版向着图书、期刊、电子出版物、音像制品、电子商务一体化延伸,现已发展为多领域、多学科的大型综合性出版社,涉及机械、电工电子、汽车、计算机、经济管理、建筑、ELT、科普以及教材、教辅等领域。