本书涵盖从Go语言入门到Go Web开发高手所需的核心知识、方法和技巧,共分4篇。
第1篇“Go语言入门”,介绍Go语言的基础语法,既使没有Go语言基础的读者也可以学习本书。
第2篇“Go Web基础入门”,包括3章:Go Web开发基础、接收和处理Go Web请求、用Go访问数据库。本篇能使读者快速掌握用Go语言进行Web开发的基础知识。
第3篇“Go Web高级应用”,包括4章:Go高级网络编程、Go文件处理、Go并发编程、Go RESTful API接口开发。本篇能使读者用Go语言快速开发各种Web应用。
第4篇“Go Web项目实战”,包括2章:【实战】开发一个B2C电子商务系统、【实战】用Docker部署Go Web应用。本篇通过实例介绍了开发一个B2C电子商务系统的全过程,包括开发商品展示、购物车、结算、支付等模块的详细讲解,让读者真正了解大型B2C电子商务系统的架构原理及实现方法,并开放了源代码;用Docker实战部署Go Web应用,帮助读者向Go Web开发“精通”级别迈进。
本书可作为Go语言初学者、Web开发工程师的自学用书,也可作为培训机构和相关院校的教材。
本书聚焦Go Web开发领域,对Go Web知识进行全面深入地讲解。本书有如下特色:
(1)一线技术,突出实战。
本书中穿插了大量的实战内容,且所有代码采用目前的Go最新版本(1.15.3)编写。
(2)精雕细琢,阅读性强。
全书的语言经过多次打磨,力求精确。同时注重阅读体验,让没有任何基础的读者也可以很轻松地读懂本书。
(3)零基础入门,循序渐进,让读者快速从菜鸟向实战高手迈进。
本书以Go入门级程序员为主要对象,初级、中级、高级程序员都可以从书中学到干货。先介绍Go的基础,然后介绍Go Web的基础,介绍Go Web的高级应用,介绍B2C电子商务系统实战开发,最后介绍应用的Docker实战部署,真正帮助读者从基础入门向开发高手迈进。
(4)极客思维,极致效率;
本书以极客思维深入Go语言底层进行探究,帮助读者了解底层的原理。全书言简意赅,以帮助读者提升开发效率为导向,同时尽可能帮助读者缩短阅读本书的时间。
(5)由易到难,重点和难点标注并重点解析。
本书编排由易到难,内容基本覆盖Go Web的主流前沿技术。同时对重点和难点进行重点讲解,对易错点和注意点进行了提示说明,帮助读者克服学习过程中的困难。
(6)突出实战,快速突击。
本书的实例代码绝大部分都是来自于最新的企业实战项目。购买本书的读者可以通过网络下载书中的所有的源代码,下载后即可运行,通过实践来加深理解。
(7)实战方案,可直接二次开发进行实战部署。
本书以实战为主,所有的示例代码拿来即可运行。特别是第9章,购买本书的读者可以直接获得B2C电子商务系统的全部源代码。可以直接对其进行二次开发,用于自己的项目。读者购买本书不仅可以学习本书的各种知识,也相当于购买一个最新版的Go语言电商系统解决方案及项目源码。
廖显东
高级软件架构师,全栈开发者,技术极客,Gopher,开源爱好者。
毕业于河海大学,先后就职于苏宁易购等多家大型公司。具有多年软件开发与团队管理经验,精通Java、JavaScript、C、C++、C#、Python、PHP等开发语言。对Go、Rust等开发语言有深入实践和研究。对大型电子商务系统开发、高并发架构、分布式架构、微服务、大数据、人工智能算法等领域有深入实践和研究。
Go语言是Google于2009年开源的一门编程语言。它可以在不损失应用程序性能的情况下极大地降低代码的复杂性。相比于其他编程语言,简洁、快速、安全、并行、有趣、开源、内存管理、数组安全、编译迅速是其特色。
Go语言在设计之初就被定位为“运行在Web服务器、存储集群或类似用途的巨型中央服务器中的系统编程语言”,在云计算、Web高并发开发领域中具有无可比拟的优势。Go语言在高性能分布式系统、服务器编程、分布式系统开发、云平台开发、区块链开发等领域有着广泛使用。
近几年,很多公司(特别是云计算公司)开始用Go重构他们的基础架构,也有很多公司直接采用Go进行业务开发。Docker、Kubernetes等重量级应用的持续火热,更是让Go语言成为当下最热门编程语言之一。
1. 本书特色
本书聚焦Go Web开发领域,对Go Web知识进行全面深入地讲解。本书有如下特色:
(1)一线技术,突出实战。
本书中穿插了大量的实战内容,且所有代码采用目前的Go最新版本(1.15.3)编写。
(2)精雕细琢,阅读性强。
全书的语言经过多次打磨,力求精确。同时注重阅读体验,让没有任何基础的读者也可以很轻松地读懂本书。
(3)零基础入门,循序渐进,让读者快速从菜鸟向实战高手迈进。
本书以Go入门级程序员为主要对象,初级、中级、高级程序员都可以从书中学到干货。先介绍Go的基础,然后介绍Go Web的基础,介绍Go Web的高级应用,介绍B2C电子商务系统实战开发,最后介绍应用的Docker实战部署,真正帮助读者从基础入门向开发高手迈进。
(4)极客思维,极致效率;
本书以极客思维深入Go语言底层进行探究,帮助读者了解底层的原理。全书言简意赅,以帮助读者提升开发效率为导向,同时尽可能帮助读者缩短阅读本书的时间。
(5)由易到难,重点和难点标注并重点解析。
本书编排由易到难,内容基本覆盖Go Web的主流前沿技术。同时对重点和难点进行重点讲解,对易错点和注意点进行了提示说明,帮助读者克服学习过程中的困难。
(6)突出实战,快速突击。
本书的实例代码绝大部分都是来自于最新的企业实战项目。购买本书的读者可以通过网络下载书中的所有的源代码,下载后即可运行,通过实践来加深理解。
(7)实战方案,可直接二次开发进行实战部署。
本书以实战为主,所有的示例代码拿来即可运行。特别是第9章,购买本书的读者可以直接获得B2C电子商务系统的全部源代码。可以直接对其进行二次开发,用于自己的项目。读者购买本书不仅可以学习本书的各种知识,也相当于购买一个最新版的Go语言电商系统解决方案及项目源码。
2. 阅读本书,您能学到什么
系统学习Go语言基础语法;
掌握HTTP基本原理;
掌握Go Web 底层原理;
掌握Go访问MySQL、Redis、MongoDB的方法和技巧;
掌握Gorm、Beego ORM的使用方法和技巧;
掌握Go Socket编程的方法和技巧;
掌握用gRPC实现微服务调用;
掌握Go 文件处理的方法和技巧;
掌握Go生成与解析JSON、XML文件的方法和技巧;
掌握Go正则表达式的处理方法和技巧;
掌握Go 日志处理的方法和技巧;
掌握从数据库中导出一个CSV文件的实战法;
掌握Go并发编程的底层原理;
掌握常见Go并发Web应用的实战开发方法和技巧;
掌握Go开发并发的Web爬虫的方法和技巧;
掌握Gin框架、Beego框架的使用方法和技巧;
掌握流行架构风格RESTful API接口的开发;
掌握用Go开发OAuth2.0接口的技巧;
掌握Elasticsearch的使用方法;
掌握微信支付、支付宝支付的接口对接方法;
掌握用Go语言开发B2C电子商务系统的整个流程方案及源码;
掌握Docker实战部署方法;
掌握Docker Compose实战部署方法。
希望通过本书的学习,能够让读者快速、系统地掌握Go Web开发的各种方法和技巧,帮助读者在Go 语言Web开发中,快速从基础入门向精通级的实战派高手迈进。
3. 读者对象
本书既适合Go语言初学者,也适合想进一步提升的中高级Go语言开发者。初级、中级、高级开发人员都能从本书学到干货。
本书读者对象如下:
◎ 初学编程的自学者;
◎ 培训机构的老师和学员;
◎ Go语言初学者;
◎ 相关专业的大学毕业学生;
◎ Go语言中高级开发人员;
◎ Web前端开发人员;
◎ Web开发工程师;
◎ 测试工程师;
◎ 编程爱好者;
◎ DevOps运维人员;
◎ 高等院校的老师和学生;
◎ Web中高级开发人员。
4. 技术交流
如果读者在阅读本书的过程中有任何疑问,请用手机微信扫描右侧的二维码,关注“源码大数据”公众号,输入读者遇到的问题,作者会尽快与读者进行交流及回复。
关注“源码大数据”公众号后输入“go web源码”,即可获得本书源代码、学习资源、面试题库等。
读者也可以加入QQ群(QQ群号码:771844527)进行交流沟通,作者会尽快进行回复。
尽管作者在本书写作过程中尽可能地追求严谨,但仍难免有纰漏之处,欢迎读者通过“源码大数据”公众号或者QQ群等方式批评与指正。
廖显东