Go语言高级发与实战聚焦Go语言的高级发技巧和应用实战。高级阶、重解析Go语言高级发知识;源码再用,随书源码可直二次发行实战部署。作者廖显东,高级软件架构师,全栈发者,技术极客,Gopher,源爱好者。对Go、Rust等流行发语言有深实践和研究。对大型电子商务系统发、高并发架构、分布式架构、微服务、大数据、人工智能算法等领域有深实践和研究。建议采用以线上销售为主、线上线下相结合的营销方式推广。
售 价:¥
纸质售价:¥83.30购买纸书
温馨提示:数字商品不支持退换货,不提供源文件,不支持导出打印
为你推荐
前折页
书名页
版权
前言
第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 回顾与启示
后折页
买过这本书的人还买过
读了这本书的人还在读
同类图书排行榜