Go语言开发实战(慕课版)(txt+pdf+epub+mobi电子书下载)


发布时间:2021-02-22 23:12:55

点击下载

作者:千锋教育高教产品研发部

出版社:人民邮电出版社有限公司

格式: AZW3, DOCX, EPUB, MOBI, PDF, TXT

Go语言开发实战(慕课版)

Go语言开发实战(慕课版)试读:

内 容 提 要

本书内容丰富、深入浅出,分为两大部分,共14章。第一部分(第1章~第13章)带领读者进入Go语言的世界,使读者掌握Go语言的特性、基本语法、面向对象编程、异常处理、文件I/O操作、网络编程、数据库编程、并发编程等内容,此外还增加了密码学算法内容;第二部分(第14章)通过一个完整的电子商务平台管理项目案例带领读者实现后端技术开发。通过该项目案例的学习,读者可掌握Web主流框架(Beego)、关系型数据库(MySQL)、非关系型数据库(Redis)等内容。本书可作为高等院校计算机相关专业的教材及教学参考书,也可作为Go语言初学者的自学用书,还可作为相关开发人员的参考书。

编 委 会

主 编:王向军 胡耀文 韩 茹副主编:穆旭东 于洪伟编 委:曹秀秀 贺 毅 李永强

前 言

当今世界是知识爆炸的世界,科学技术与信息技术快速发展,新型技术层出不穷,教科书也要紧随时代的发展,纳入新知识、新内容。目前很多教科书注重算法讲解,但是如果在初学者还不会编写一行代码的情况下,教科书就开始讲解算法,会打击初学者学习的积极性,让其难以入门。

IT行业需要的不是只有理论知识的人才,而是技术过硬、综合能力强的实用型人才。高校毕业生求职面临的第一道门槛就是技能与经验。学校往往注重学生理论知识的学习,忽略了对学生实践能力的培养,导致学生无法将理论知识应用到实际工作中。

为了杜绝这一现象,本书倡导快乐学习、实战就业,在语言描述上力求准确、通俗易懂,在章节编排上循序渐进,在语法阐述中尽量避免术语和公式,从项目开发的实际需求入手,将理论知识与实际应用相结合,目标就是让初学者能够快速成长为初级程序员,积累一定的项目开发经验,从而在职场中拥有一个高起点。千锋教育针对高校教师的服务

千锋教育基于多年的教育培训经验,精心设计了“教材+授课资源+考试系统+测试题+辅助案例”教学资源包。教师使用教学资源包可节约备课时间,缓解教学压力,显著提高教学质量。

本书配有千锋教育优秀讲师录制的教学视频,按知识结构体系已部署到教学辅助平台“扣丁学堂”,可以作为教学资源使用,也可以作为备课参考资料。本书配套教学视频,可登录“扣丁学堂”官方网站下载。

高校教师如需配套教学资源包,也可扫描下方二维码,关注“扣丁学堂”师资服务微信公众号获取。扣丁学堂针对高校学生的服务

学IT有疑问,就找“千问千知”,这是一个有问必答的IT社区。平台上的专业答疑辅导老师承诺在工作时间3小时内答复您学习IT时遇到的专业问题。读者也可以通过扫描下方的二维码,关注“千问千知”微信公众号,浏览其他学习者在学习中分享的问题和收获。

学习太枯燥,想了解其他学校的伙伴都是怎样学习的?你可以加入“扣丁俱乐部”。“扣丁俱乐部”是千锋教育联合各大校园发起的公益计划,专门面向对IT有兴趣的大学生,提供免费的学习资源和问答服务,已有超过30万名学习者获益。千问千知资源获取方式

本书配套源代码、习题答案的获取方法:读者可添加小千QQ号2133320438索取,也可登录人邮教育社区www.ryjiaoyu.com进行下载。致谢

本书由千锋教育区块链教学团队整合多年积累的教学实战案例,通过反复修改最终撰写完成。多名院校老师参与了教材的部分编写与指导工作。除此之外,千锋教育的500多名学员参与了教材的试读工作,他们站在初学者的角度对教材提出了许多宝贵的修改意见,在此一并表示衷心的感谢。意见反馈

虽然我们在本书的编写过程中力求完美,但书中难免有不足之处,欢迎读者给予宝贵意见,联系方式:huyaowen@1000phone.com。千锋教育高教产品研发部2019年12月于北京

第1章 初识Go语言

本章学习目标

• 了解Go语言的发展历史

• 了解Go语言的核心特性

• 了解Golang的安装和配置

• 了解搭建GoLand的开发环境

• 掌握Go语言的编码规范

Go语言是由Google公司发布的一种静态型、编译型的开源编程语言,是新时代的“C语言”。纵观这几年来的发展趋势,Go语言已经成为云计算时代重要的基础编程语言。介绍

1.1 Go语言的发展历史

Go语言的发展历史

Go 语言的三个作者分别是:罗伯特·格利茨默(Robert Griesemer)、罗伯·派克(Rob Pike)和肯·汤普森(Ken Thompson),如图1.1所示(从左到右)。图1.1 Go语言作者

Robert Griesemer是Google V8、Chubby和HotSpot JVM的主要贡献者。

Rob Pike是UNIX、UTF-8、plan9的作者。

Ken Thompson是B语言、C语言的作者,同时也是UNIX之父。

2007年,Google准备推出一种既不损失性能又可以降低代码复杂性的编程语言;同年9月,Rob Pike将这门编程语言正式命名为Go;2008年5月,Google全力支持Go编程语言的研发;2009年11月,Google将代码全部开源,并被评为当年的年度语言;2012年3月28日,Go发布第一个正式的稳定版本。与此同时,Go团队承诺新版本都会兼容旧版本。

1.2 Go语言的特性

Go语言的特性1.2.1 Go语言的特点和优势

1.简单易学

Go语言语法简单,包含了类似C语言的语法。如果读者已经掌握了两到三门编程语言,那么学习Go语言只需要几天的时间。即使是一名刚入门的开发者,花几个星期也能写出性能较高的Go语言程序。

2.自由高效

Go语言的编译速度明显优于Java和C++,还拥有接近C语言的运行效率及接近PHP的开发效率。Go语言将运行效率和开发效率进行了完美的融合。Go语言支持当前所有的编程范式,包括过程式编程、面向对象编程、面向接口编程、函数式编程。开发者们可根据需求自由组合。

3.强大的标准库

Go里面的标准库非常稳定,丰富的标准库覆盖网络、系统、加密、编码、图形等各个方面。尤其是网络和系统的库非常实用,使得开发者在开发大型程序时,几乎无须依赖第三方库。

4.部署方便

Go语言不使用虚拟机,Go语言的代码可以直接输出为目标平台的二进制可执行文件。Go语言拥有自己的链接器,不依赖任何系统提供的编译器和链接器。因此编译出的二进制可执行文件几乎可以运行在任何系统环境中。

5.原生支持并发

Go是一种非常高效的语言,从语言层原生支持并发,使用起来非常简单。Go的并发是基于Goroutine的。Goroutine类似于线程,但并非线程,是Go面向线程的轻量级方法。创建Goroutine的成本很低,只需几千个字节的额外内存。通常一台普通的桌面主机运行上百个线程就会负载过大,同样的主机却可以运行上千甚至上万个Goroutine。Goroutine之间可以通过channel实现通信。Goroutine以及基于channel的并发性方法可最大限度地使用CPU资源。

6.稳定性强

Go拥有强大的编译检查、严格的编码规范、很强的稳定性,此外Go还提供了软件生命周期(如开发、测试、部署、维护等)的各个环节的工具,如go tool、go fmt、go test。

7.垃圾回收

Go语言的使用者只需要关注内存的申请而不必关心内存的释放,Go语言内置runtime来自动进行管理。虽然目前来说GC(Garbage Collection,垃圾回收机制)不算完美,但是足以应付开发者遇到的大多数情况,使开发者将更多精力集中在业务上,同时Go语言也允许开发者对此项工作进行优化。1.2.2 使用Go语言的项目与企业

Go语言可以代替C或C++做一些系统编程,如处理日志、数据打包、虚拟机处理、文件系统等。Go语言在网络编程方面的应用也非常广泛,包括Web应用、API应用、下载应用。许多知名的开源项目中都用到了Go,如分布式系统中的Etcd、由Google开发的Groupcache数据库组件、云平台中的Docker和Kubernetes、区块链中的Ethereum和Hyperledger等。

Go发布之后,很多公司开始用Go重构基础架构,特别是云计算公司。很多公司直接采用Go进行开发,最近热火朝天的Docker就是采用Go语言进行开发的。

使用Go语言进行开发的国外公司有Google、Docker、Apple、Cloud Foundry、Cloudflare、Couchbase、CoreOS、Dropbox、MongoDB、AWS等。

使用Go语言进行开发的国内企业有阿里巴巴、百度、小米、PingCAP、华为、金山、猎豹移动、饿了么等。

1.3 安装和配置Golang

安装和配置 Golang

广义的Golang就是指Go语言,后缀lang代表language;狭义的Golang特指Go语言的开发环境。Mac、Windows和Linux三个平台都支持Golang。读者可以从Golang官网下载相应平台的安装包,如图1.2所示。该网站在国内不容易访问,可以访问Go语言中文网进行安装软件的下载,如图1.3所示。图1.2 Golang官网下载页面图1.3 Go语言中文网下载页面1.3.1 Windows版本安装

Windows环境下(以Windows 7为例),下载格式为MSI的安装程序。双击启动安装并遵循提示。在位置C:\Go中安装Golang,并且添加目录C:\Go\bin到path环境变量。如果安装文件是MSI格式,Go语言的环境变量会自动设置完成,如图1.4所示。图1.4 默认配置信息(1)右键单击【我的电脑】,选择【属性】选项,进入系统窗口,如图1.5所示。图1.5 系统基本信息(2)单击【高级系统设置】,打开【系统属性】窗口,如图1.6所示。(3)单击【环境变量】按钮,打开【环境变量】窗口,如图1.7所示。图1.6 系统属性图1.7 环境变量(4)在【系统变量】区域,单击【新建】按钮,打开【新建系统变量】窗口,如图1.8所示。假设Go安装于C盘根目录,新建系统变量如下。

• GOROOT:Go安装路径(例:C:\Go\)。

• GOPATH:Go工程的路径(例:D:\go\)。如果路径包含多个子目录,以分号进行分隔。(5)在【系统变量】区域,选中系统变量Path,单击【编辑】按钮,如图1.9所示,打开【编辑系统变量】窗口。(6)编辑系统变量,如图1.10所示。图1.8 新建系统变量图1.9 编辑系统变量(1)图1.10 编辑系统变量(2)

• Path:在Path中增加C:\Go\bin;%GOPATH%\bin。

需要把GOPATH中的可执行目录也配置到环境变量中,否则自行下载的第三方Go语言工具将无法使用。

工作目录用来存放开发者的代码,对应Golang里的GOPATH这个环境变量。该环境变量被指定之后,编译源代码所生成的文件都会放到此目录下。

GOPATH主要包含三个目录:bin、pkg、src。bin目录主要存放可执行文件;pkg目录主要存放编译好的库文件,如*.a文件;src目录主要存放Go的源文件。

接下来查看安装配置是否成功,使用快捷键Win+R,输入cmd,打开命令行提示符窗口,在命令行中输入go env,查看配置信息,不同环境下显示会略有差异。

如图1.11所示,可以看到GOPATH已经修改为D:\go\。图1.11 环境配置信息

输入go version查看版本号,如图1.12所示。图1.12 版本号1.3.2 Mac OS版本安装

Mac OS环境下,下载格式为osx的安装程序。双击启动安装。按照提示,在/usr/local/go中安装Golang,并且将文件夹/usr/local/go/bin添加到PATH环境变量中。

1.Mac系统下安装

双击pkg包,顺着指引,即可安装成功。在命令行输入go version后,如果获取到Go语言的版本号,则代表安装成功。

2.Mac系统下配置环境变量(1)打开终端输入cd ~进入用户主目录。(2)输入ls -all命令查看是否存在.bash_profile。(3)使用vim .bash_profile打开文件。(4)输入i进入vim编辑模式。(5)输入下面代码,其中GOPATH是日常开发的根目录。GOBIN是GOPATH下的bin目录。

• export GOPATH=/Users/steven/Documents/go_project

• export GOROOT= /Usr/local/go

• export GOBIN=$GOROOT/bin

• export PATH=$PATH:$GOBIN(6)按esc键,并输入wq保存并退出编辑。可输入vim .bash_profile查看是否保存成功。(7)输入source ~/.bash_profile完成对Golang环境变量的配置,配置成功没有提示。(8)输入go env查看配置结果。1.3.3 Linux版本安装

Linux环境下,打开官网下载界面,选择对应的系统版本,下载格式为tar的文件,并将该安装包解压到/usr/local。将/usr/local/go/bin添加到PATH环境变量中。

1.4 搭建集成开发环境GoLand

GoLand安装和配置

GoLand由JetBrains公司推出,旨在为Go开发者提供一个符合人体工程学的新商业集成开发环境(Integrated Development Environment,IDE)。GoLand具有以下特点:(1)编码辅助功能;(2)符合人体工程学的设计;(3)工具的集成;(4)IntelliJ插件生态系统。1.4.1 GoLand的下载及安装

打开GoLand官方下载界面,如图1.13所示。单击网页中【Download】按钮,该网站自动识别计算机系统,并下载最新的编辑器;下载完成后,在本地执行解压、安装。图1.13 GoLand下载界面

单击【Next】按钮,选择要安装的路径,然后单击【Next】,会出现安装选项。根据计算机的型号,选择合适的版本,继续单击【Next】按钮。保持默认的程序启动目录,单击【Install】进行安装。整个安装过程很快,几乎一路【Next】到底。1.4.2 GoLand的使用(1)打开GoLand工具,如图1.14所示。图1.14 GoLand界面(2)单击【New Project】创建项目,如图1.15所示。图1.15 创建项目1.4.3 编写第一个程序HelloWorld

在D:\go\ch01目录下,新建一个文本文档(记事本),通常默认名为“新建文本文档.txt”。将文本重命名为后缀以.go结尾的文件名,如01_HelloWorld.go,并输入以下内容。

例1-1

执行Go语言程序有如下几种方式。(1)使用go run命令。

• 步骤1:使用快捷键Win+R,输入cmd打开命令行提示符窗口,如图1.16所示。图1.16 运行

• 步骤2:进入01_HelloWorld.go所在的目录,如图1.17所示。图1.17 进入HelloWorld文件所在目录

• 步骤3:输入go run 01_HelloWorld.go命令并观察执行结果,如图1.18所示。(2)使用go build命令。

• 步骤1:使用快捷键Win+R,输入cmd打开命令行提示符窗口。

• 步骤2:进入01_HelloWorld.go所在的目录。

• 步骤3:输入go build 01_HelloWorld.go命令进行编译,产生同名的01_HelloWorld.exe文件,如图1.19和图1.20所示。图1.18 执行结果图1.19 编译01_HelloWorld.go图1.20 HelloWorld.exe所在目录

• 步骤4:输入01_HelloWorld.exe,执行结果如图1.21所示。图1.21 执行结果(3)使用GoLand。

单击main()函数左侧绿色小箭头(运行),如图1.22所示。

试读结束[说明:试读内容隐藏了图片]

下载完整电子书


相关推荐

最新文章


© 2020 txtepub下载