猜你喜欢
Go语言高级开发与实战

Go语言高级开发与实战

书籍作者:廖显东 ISBN:9787111696858
书籍语言:简体中文 连载状态:全集
电子书格式:pdf,txt,epub,mobi,azw3 下载次数:9945
创建日期:2022-10-22 发布日期:2022-10-22
运行环境:PC/Windows/Linux/Mac/IOS/iPhone/iPad/Kindle/Android/安卓/平板
内容简介

Go语言高级开发与实战聚焦Go语言的高级开发技巧和应用实战。全书共6章,分别为Go语言基础实战、Go语言高级编程技巧、Go Web编程、Go语言并发编程、分布式系统、Go语言秒杀系统实战。Go语言高级开发与实战简洁而不失技术深度,内容丰富全面,以极简的文字介绍了复杂的案例,是学习Go语言高级开发的实用教程。
Go语言高级开发与实战适合Go语言初学者、Go语言中高级开发人员、Web开发工程师阅读,还可作为大中专院校相关专业和培训学校师生的学习用书。

作者简介

廖显东
高级软件架构师,全栈开发者,技术极客,Gopher,开源爱好者。多年软件开发与团队管理经验,精通Java、C/C++/C#、Python、PHP等开发语言。对Go、Rust等流行开发语言有深入实践和研究。对大型电子商务系统开发、高并发架构、分布式架构、微服务、大数据、人工智能算法等领域有深入实践和研究。


前言

前言


Go语言简介

Go语言是Google于2009年开源的一门新的系统编程语言,可以在不损失应用程序性能的情况下极大地降低代码的复杂性。相比其他编程语言,简洁、快速、安全、并行、有趣、开源、编译迅速是其特色。Go语言在高性能分布式系统、服务器编程、分布式系统开发、云平台开发、区块链开发等领域有广泛应用。近几年,很多公司,特别是云计算公司开始用Go语言重构它们的基础架构,很多都是直接采用Go语言进行架构开发。特别是Docker、Kubernetes等重量级应用的持续火热,更是让Go语言成为当下最热门的编程语言之一。
为什么写这Go语言高级开发与实战
由于喜欢开源,从2009年至今,编者研究了大量的开源代码,其中包括C、Java、PHP、Python、Go、Rust、Docker、Vue、Spring、Flutter等各种流行的源码,并创立“源码大数据”公众号分享部分算法和心得。
最近几年,编者在工作之余编写了大量Go语言开源项目,并发布了其中一小部分到“码云”和GitHub上,部分开源项目在社区深受欢迎。由于市场上关于Go语言高级开发的书不多,特别是讲解分布式和高并发等相关的高级开发和技巧的书更少,所以编者想写一本有关Go语言高级开发与实战方面的书来回馈Go语言社区的朋友们。这既是对自己多年编程经验的总结,也希望给更多的人提供帮助。于是,2020年下半年,编者便在工作之余开启了本书的写作之旅。
Go语言高级开发与实战特色
Go语言高级开发与实战聚焦Go语言高级开发的知识进行全面深入的讲解,具有如下特色。
1.一线技术,突出实战
Go语言高级开发与实战以实战为核心,一线技术贯穿整Go语言高级开发与实战,所有代码均采用Go语言最新版本(1.16.2)编写。
2.零基础入门,循序渐进
初、中、高级程序员都可以从本书中学到干货。先从Go语言的基础学起,再学习Go语言的核心技术,然后学Go语言的高级应用,最后再进行项目实战。全书从基础的知识讲解,一步一步到热门的秒杀系统实战开发,真正帮助读者实现从基础向开发实战高手的迈进。
前言
Go语言高级开发与实战3.极客思维,极致效率
Go语言高级开发与实战以极客思维来深入Go语言底层进行探究,帮助读者了解其背后的原理。全书言简意赅,以帮助读者提升开发效率为导向,同时尽可能帮助读者缩短阅读本书的时间。
4.由易到难,重难点标注并重点解析
Go语言高级开发与实战编排由易到难,内容基本覆盖Go 语言高级开发的主流前沿技术。同时对重难点进行重点讲解,对易错点和注意点进行了提示说明,帮助读者克服学习过程中的困难。
5.突出实战,关注前沿技术
Go语言高级开发与实战的实例代码绝大部分都是来自最新的企业实战项目。配套源代码可以直接下载运行,让读者通过实践来加深理解。
技术交流

读者在阅读本书的过程中有任何疑问,可扫描右侧二维码,关注“源码大数据”公众号,按照提示输入问题,编者会第一时间与读者进行交流回复;输入“go advanced”即可获得本书源代码、学习资源、面试题库等;输入“更多源码”,可以免费获得大量其他学习资源。
由于编者水平有限,书中难免有纰漏之处,欢迎读者批评指正。
致谢
感谢Go语言社区所有的贡献者,没有他们多年来对开源的贡献,就没有Go语言社区的繁荣。谨以此书献给所有喜欢Go语言的朋友们。
感谢我的妻子清荷,她在工作之余也参与了Go语言高级开发与实战的文字校正工作,同时,她给予了我许多意见和建议,并坚定地支持我,才使得我更加专注和坚定地写作。没有她的支持,这本书不会这么快完稿。

廖显东


目录

目录
前言

Go语言基础实战/
1.1Go语言基础/
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.5map常见实战技巧/
1.5.1map基础/
1.5.2检查一个键是否在
map中/
1.5.3json与map互相转化/
1.5.4map排序示例/
1.5.5map高级使用技巧/
1.5.6map排序技巧/
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.8Go语言面向对象编程/
1.6.9【实战】模拟二维矢量移动
小游戏/
1.7接口常用技巧/
1.7.1接口的赋值/
1.7.2接口的查询/
1.7.3接口的组合/
1.7.4接口的常见应用/
1.7.5接口使用注意事项/
目录
Go语言高级开发与实战1.8Go语言模块管理/
1.9通道实战技巧/
1.9.1通道基础/
1.9.2创建定时通知/
1.9.3使用通道传送通道/
1.9.4检查通道的长度和容量/
1.9.5速率限制/
1.10回顾和启示/
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.3Go语言编译/
2.3.1编译基础知识/
2.3.2Go语言编译原理/
2.3.3Go语言编译器入口/
2.3.4编译器调试/
2.4CGO编程技巧/
2.4.1CGO基础使用/
2.4.2CGO使用的问题和挑战/
2.5错误和异常处理技巧/
2.5.1错误和异常简介/
2.5.2错误处理的技巧/
2.5.3异常处理的技巧/
2.6密码学算法技巧/
2.6.1Hash算法/
2.6.2对称与非对称加密算法/
2.6.3椭圆曲线加密算法/
2.6.4字符串编码与解码/
2.7性能剖析与事件追踪/
2.7.1pprof性能剖析/
2.7.2trace事件追踪/
2.8回顾和启示/
Go Web编程/
3.1Go Web基础/
3.1.1Go语言接收HTTP请求/
3.1.2Go语言处理HTTP请求/
3.2Go HTTP2编程/
3.2.1HTTP简介/
3.2.2Go HTTP2编程实例/
3.3Go HTTP3编程/
3.3.1HTTP3简介/
3.3.2Go HTTP3编程实例/
3.4Go Socket编程/
3.4.1什么是Socket/
3.4.2TCP Socket/
3.4.3UDP Socket/
3.4.4【实战】用Socket开发简易
聊天程序/
3.5Go MySQL使用技巧/
3.5.1Go 使用MySQL/
3.5.2MySQL常见ORM/
3.6Go Redis使用技巧/
3.6.1Go Redis常见处理技巧/
3.6.2使用Go Redis实现排行榜
功能/
3.7Go gRPC使用/
3.7.1什么是gRPC/
3.7.2Go gRPC的使用/
3.8【实战】使用gRPC开发一个简易分
布式爬虫系统/
3.9回顾和启示/
Go语言并发编程/
4.1并发编程基础/
4.2计算机常见并发模型/
4.2.1线程和锁/
4.2.2演员模型/
4.2.3通信顺序进程/
4.3Go语言并发模型/
4.4Go语言常见并发设计模式/
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.6goroutine使用技巧/
4.6.1限制并发数量/
4.6.2节拍器/
4.6.3使用select多路复用/
4.7【实战】开发一个并发任务
系统/
4.8回顾和启示/
分布式系统/
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.5分布式锁的选择/
5.5Go实现常见的分布式应用/
5.5.1用Snowflake框架生成分布
式ID/
5.5.2Go 语言实现 Paxos一致性
算法/
5.6Go语言常见分布式框架/
5.6.1Go Micro框架/
5.6.2Consul框架/
5.7回顾和启示/
Go语言秒杀系统实战/
6.1秒杀系统简介/
6.1.1高并发系统简介/
6.1.2秒杀系统简介/
6.2秒杀系统架构/
6.2.1架构原则/
6.2.2秒杀系统架构/
6.3HTML静态页面开发/
6.3.1秒杀页面设计/
6.3.2秒杀页面静态化/
6.3.3客户端限流/
6.4服务器端开发/
6.4.1代理层设计/
6.4.2应用层实现/
6.4.3数据库层隔离/
6.5压力测试/
6.6回顾与启示/


短评

非常棒!顺利通过这本书拿到OFFER,这本书系统的讲解了Go语言高级开发的知识与实战技巧,零基础入门,我花了半个月看完了,收获非常大,对Go语言分布式体统开发、高并发系统开发有了进一步的认识,最后一章还介绍了Go语言秒杀系统开发,还提供完整代码,强烈推荐这本书!

2022-01-26 09:45:08

产品质量,客服服务态度特别好,很喜欢,好评

2022-01-15 18:04:10

标签
计算机
产品特色