前言
Preface
随着人工智能、大数据、云计算、区块链、虚拟现实等新一代信息技术的加速突破创新,开发者对软件架构、软件性能、资源利用率、开发便捷度以及可扩展性的要求不断提高。传统的 C++、Java、Python 语言在编程实现新一代信息技术下的高并发、高性能软件时面临各种新的问题;特别是在响应大规模Web应用请求、云原生的开发、系统自动化运维以及区块链系统的实现中,传统的Java或Python语言开发往往会导致开发效率低、代码“臃肿”、产品应用性能欠缺等问题。
Go语言由谷歌专家团队于2009年正式宣布推出,成为开源项目。Go语言致力于实现跨平台特性,在Linux、macOS以及Windows系统上均可运行。由于Go语言天然的高并发特性,使用它编译程序的速度可媲美使用C或C++编译程序的速度,同时其具备Python语言的简易性和优于Java语言的性能。借助Go语言我们可以构建可伸缩的应用程序,并使得应用程序更加安全。由于Go语言的优越性,其在百度BFE平台、腾讯蓝鲸平台、京东商城、小米商城、七牛云平台中得到广泛的应用。容器引擎Docker、容器集群管理系统Kubernetes、很多区块链项目等均基于Go语言开发。Stack Overflow则直接预测,在2023年之后的5年中,Go 语言将逐步占据开发语言市场的30%。随着 Go 语言在产业应用中所发挥的作用愈渐重要、行业普及面越来越广,Go 语言相关书籍受到热捧,而这些书籍大部分就 Go 语言的原理特性和基础语法展开讲解,面向高职专、本科技能型人才培养的Go语言职业教育教材较为匮乏。
深圳信息职业技术学院国家级职业教育教师教学创新团队以党的二十大精神为引领,携手腾讯云计算(北京)有限责任公司等企业筹划并组织了本书的编撰。全书以项目、任务驱动的形式组织内容,以实现电商平台开发中的功能模块为主题设计各个任务中的程序示例,将Go语言的语法知识和特色用法嵌入任务的实操过程中,将课程思政元素全过程、多维度地有机融入。每个项目开篇设置项目导读模块,以成果导向教育(Outcomes-Based Education, OBE)形式带领读者概览项目需要完成的学习任务(含知识、技能、素质目标),项目篇尾设置项目小结和丰富的巩固练习。每个任务以“任务分析、相关知识、实操过程、进阶技能”方式编排,遵循技能型人才培养和成长的规律,并弹性满足高职专、本科学生不同层次的学习需求。有机融入思政元素和工匠精神。通过7个项目的学习,读者将能够轻松掌握 Go语言的基础语法,Go语言的函数、指针、闭包的使用方法,Go语言针对并发、反射、结构体的高级特性应用,以及基于GORM的数据库操作和基于Gin框架的Web开发。本书配套完备的数字化教学资源,包括每个任务涉及的理论知识点微课视频。每个程序示例的逻辑讲解视频配合详细的教学计划,支持线上线下混合式教学的实施。本书适用于面向软件技术、区块链、人工智能、大数据、云计算、计算机应用等计算机类专业的高职专、本科学生教学,相关内容对接“1+X”区块链应用软件开发与运维职业技能等级证书的学习要求。
本书系深圳信息职业技术学院“素质赋能系列教材”之一,获得了深圳信息职业技术学院“双高计划”专项建设资金支持,在本书内容编写及配套案例资源开发过程中,编者得到了腾讯云计算(北京)有限责任公司、广东泰迪智能科技股份有限公司的大力协助,在此表示由衷的感谢。本书的顺利完稿也得益于大量国内外先进成果,在此谨向这些成果的作者以及相关文献的作者致以诚挚的谢意和崇高的敬意。
鉴于编者水平有限,书中难免存在不足之处,恳望广大读者提出宝贵意见和建议。
编者
2022年10月