Go语言程序设计项目化教程(微课版)
上QQ阅读APP看书,第一时间看更新

任务1.2 运行第一个Go程序

1.2.1 任务分析

在进行信息系统开发的过程中,除了语言开发环境以外,优秀的开发工具也是必不可少的。自Go语言于2009年11月正式宣布推出以来,各类开发工具得以面世,而且随着党的二十大提出“加快实施创新驱动发展战略”,越来越多的国产开发工具得以涌现。这些开发工具通过建立统一的标准,可以提升编程效率,极大程度地帮助我们进行Go语言项目开发。

在本任务中,我们将认识几款主流的开发工具,并选取GoLand和VS Code进行安装、使用讲解。

1.2.2 相关知识

初识Go程序

1.什么是开发工具

开发工具,顾名思义就是用于开发应用程序的集成开发软件,是助力软件生命周期管理的计算机工具,能够很方便地编译、执行程序代码。合适的开发工具可以大幅度提高项目的开发效率。

2.开发工具有哪些

Go语言的开发工具有很多,常见的有以下几种。

(1)GoLand。

GoLand是JetBrains公司针对Go语言所开发的一款商业集成开发环境(Integrated Development Environment,IDE),每位用户都有30天的免费试用期。企业用户可以通过购买统一授权来获得长期使用权,校园用户可以通过教育认证来获得使用权,其他用户可以选择社区版来使用有限的功能。GoLand整合了IntelliJ IDEA平台,并提供针对Go语言的编码辅助和工具集成,对代码编写、自动补全和运行调试都有极大的帮助,是大多数开发者的首选工具。GoLand图标如图1-2-1所示。

图1-2-1 GoLand图标

(2)LiteIDE。

LiteIDE是一款由国人设计、开发的Go语言集成开发环境,在编辑、编译、运行Go程序和项目管理方面都有非常好的支持。并且其基于QT框架、Kate语法和SciTE工具开发,使它成为了一款非常好用的轻量级Go语言开发工具。LiteIDE包含跨平台开发及其他必要的特性,同时包含抽象语法树视图的功能,可以清楚地纵览项目中的常量、变量和函数,并且支持在各个Go语言集成开发环境之间随意切换以及交叉编译的功能。LiteIDE图标如图1-2-2所示。

图1-2-2 LitelDE图标

(3)VS Code+Go语言插件。

VS Code的全称是Visual Studio Code,它是由微软公司开发的一款免费开发工具。简单、轻快、开放是它的代名词,它支持多种语言,默认提供Go语言的语法高亮,在安装Go语言插件之后,还支持智能提示、编译、运行等诸多实用功能。VS Code图标如图1-2-3所示。

(4)Eclipse+GoEclipse插件。

Eclipse是开放式IDE的鼻祖,是一个开源、免费的平台,安装不同的插件即可运行不同的语言。该平台提供了GoEclipse插件,基于它可以使用Eclipse去开发、运行Go程序。Eclipse图标如图1-2-4所示。

图1-2-3 VS Code图标

图1-2-4 Eclipse图标

(5)Vim。

Vim是从vi发展出来的Linux平台的文本编辑器。它可以主动通过字体颜色辨别语法的正确性,具有代码补全、编译及错误跳转等诸多功能,是很多程序员在Linux系统下必备的一款开发工具。Vim图标如图1-2-5所示。

(6)Emacs。

Emacs是一款运行在Linux和UNXI系统下的文本编辑器,具有强大的可扩展性。它不仅是一个编辑器,还是一个集成(开发)环境。Emacs图标如图1-2-6所示。

图1-2-5 Vim图标

图1-2-6 Emacs图标

1.2.3 实操过程

在Windows系统中安装GoLand

步骤一:在Windows系统中安装GoLand

在本步骤中,我们将从JetBrains官网下载Windows版本的GoLand,并将其安装到我们的计算机上,具体操作如下。

首先访问JetBrains官网,在官网上找到Windows版本的下载链接,单击链接,下载GoLand安装包,如图1-2-7所示。

下载完成后,直接双击运行该安装包。首先看到的是一个欢迎界面,直接单击“Next”按钮,接下来是自定义安装目录,可以使用程序提供的默认目录,也可以自行选择合适的安装目录,这里以E:\GoLand为例,如图1-2-8所示。

图1-2-7 Windows版本Goland安装包下载界面

图1-2-8 选择安装目录

选择好安装目录之后,单击“Next”按钮进入安装选项界面,如图1-2-9所示。

图1-2-9 安装选项界面

安装选项界面提供的是一些安装选项,它们的解释如表1-2-1所示。

表1-2-1 安装选项解释

我们可以根据需求对这些安装选项进行选择,默认情况下全部勾选。当安装选项确认无误之后,单击“Next”按钮进入选择开始菜单文件夹界面,如图1-2-10所示。

图1-2-10 选择开始菜单文件夹界面

这是在开始菜单中为GoLand的快捷方式选择一个文件夹,默认情况下是不需要修改的,因此直接单击“Install”按钮即可。

单击“Install”按钮之后,会出现一个安装进度条,当安装进度条显完成安装之后会自动跳转到完成GoLand安装界面,如图1-2-11所示。

图1-2-11 完成GoLand安装界面

出现完成 GoLand安装界面就代表 GoLand安装已经完成。此时英文提示的意思是:“你的电脑必须重新启动才能完成GoLand的安装。你想现在重启吗?”因为GoLand不需要重启也可以直接启动,所以我们可以直接选择“I want to manually reboot later”并单击“Finish”按钮结束GoLand的安装。

双击GoLand图标,在弹出的界面中选择“Activation code”单选项,导入证书,然后单击“Activate”按钮进行GoLand激活,如图1-2-12所示。

图1-2-12 使用证书激活GoLand

当GoLand激活完成后,会显示激活的详细信息。单击“Continue”按钮即可,如图1-2-13所示。

图1-2-13 确认GoLand激活信息

此时GoLand已经成功激活。在开始编程之前需要先创建一个项目,单击“New Project”按钮创建项目,如图1-2-14所示。

图1-2-14 使用GoLand创建项目

此时需要选定项目存放位置。用户可自定义一个目录作为项目的根目录,本任务项目存放在E:\learn目录下,单击“Create”按钮完成项目创建,如图1-2-15所示。

图1-2-15 选定项目存放位置

至此,项目创建完成,如图1-2-16所示。

步骤二:使用GoLand编写第一个Go程序

使用GoLand编写第一个Go程序

通过步骤一,我们已经完成了GoLand的安装,并创建了一个项目,因此现在可以在learn项目中使用Go语言编写代码了。

首先,在learn文件夹上右击,然后单击“New”→“Go File”命令来创建Go源文件,如图1-2-17所示。

图1-2-16 项目创建完成

图1-2-17 创建Go源文件

弹出“New Go File”对话框,提示我们为这个文件命名,这里输入1.2-hello.go,意为创建一个名为1.2-hello的Go源文件,如图1-2-18所示。

图1-2-18 输入要创建的Go源文件名称

此时,屏幕的右边会出现可以供我们编写代码的区域,在其中输入如下代码。

程序示例:【例1-2-1】使用GoLand编写的第一个Go程序

1 package main    //指定文件所在的包
2 import "fmt"    //导入fmt包
3 func main() {
4   fmt.Println("不忘初心、牢记使命 !")
5 }

程序解读:

上述Go语言程序中,package main用于指定文件所在的包,在Go语言中,所有的文件都需要指定其所在的包(package)。包有两种类型,一种是main包,需要在代码的开头使用package main进行声明,另一种是非main包,声明方法类似,使用“package+包名”进行声明。

而import "fmt"则是导入fmt包,fmt包实现类似C语言scanf()和printf()的格式化输入/输出。需要注意的是,import导入的是相对路径,而不是包名。

接下来的func main()则是Go语言的main()函数(主函数)。在Go语言中,main()是一个非常特殊的函数,它是程序的入口。在整个程序中,有且仅能有一个 main()函数,如果出现了多个main()函数,程序就不能正常运行。

程序第4行fmt.Println("不忘初心、牢记使命!")中,Println()是fmt包中的一个函数,它用来格式化输出数据,比如字符串、整数、小数等,类似于 C 语言中的 printf()函数。在此程序中,我们使用 Println()函数来打印字符串,也就是()里面使用""包裹的部分。点号“.”是Go语言运算符的一种,这里表示调用fmt包中的Println()函数。注意Println()的首字母是大写的,根据Go语言的语法规则,这意味着这个函数可以在它的包外面被调用,正如我们调用的那样。

提示

观察例1-2-1,我们不难总结出一个简单的Go程序结构,它由以下几个部分组成:

(1)包声明。

(2)导入包。

(3)函数。

(4)变量。

(5)语句和表达式。

(6)注释。

Go 语言的注释分为行注释(//)和块注释(/*…*/)。行注释通常用来注释单行的代码或对代码进行单行文字描述,正如程序第4行使用行注释解释了代码package main的作用是“指定文件所在的包”;块注释则主要用于格式化大段的代码或文字描述,正如程序第1~3行就使用了块注释来解释这段代码的意义。

在计算机语言中,注释是一个重要组成部分。注释通常在源代码中起到解释代码的作用,增强程序的可读性和可维护性;也可以用于在源代码中处理不需运行的代码段,实现调试程序的功能执行。注释在随源代码进入预处理器或编译器处理后会被移除,不会在目标代码中保留其相关信息。

此外,需要注意,“{”不能单独放在一行,否则会在运行时产生“syntax error: unexpected semicolon or newline before {”的错误。

代码编写完成之后,在代码编写区域右击,选择“Run 'go build 1.2-hello.g...'”命令,可运行该程序,如图1-2-19所示。

程序运行结果如图1-2-20所示,可以看到界面最下面的控制台成功显示“不忘初心、牢记使命!”。至此,我们编写的第一个Go语言程序便成功运行了。

图1-2-19 运行1.2-hello.go程序

图1-2-20 1.2-hello.go程序运行结果

1.2.4 进阶技能

在Windows系统中安装VS Code

进阶一:在Windows系统中安装Visual Studio Code(简称VS Code)

在本进阶内容中,我们将从VS Code官网上下载Windows版本的VS Code,并将其安装到我们的计算机上,具体操作如下。

首先访问VS Code官网,在官网上单击“Download for Windows”按钮下载VS Code安装包,如图1-2-21所示。

图1-2-21 Windows版本的VS Code安装包下载界面

双击安装包,首先显示的是“许可协议”,选择我同意此协议,然后单击“下一步”按钮。接着需要选择VS Code安装的目标位置,可以自行选择目标位置或者使用默认目标位置,当确定目标位置之后单击“下一步”按钮,如图1-2-22所示。

图1-2-22 选择目标位置界面

进入选择开始菜单文件夹界面,界面会提示是否要在开始菜单里面创建文件夹,以及确定需要创建的文件夹名称,保持默认即可,然后单击“下一步”按钮,如图1-2-23所示。

图1-2-23 选择开始菜单文件夹界面

进入选择附加任务界面,可以根据提示自行选择需要的附加快捷方式,然后单击“下一步”按钮,如图1-2-24所示。

图1-2-24 选择附加任务界面

接下来会提示确认安装信息。如果安装信息有误,可以单击“上一步”按钮返回、进行修改;如果无误,则可以单击“安装”按钮,等待进度条显示完成安装,如图1-2-25所示。

图1-2-25 正在安装界面

进度条显示完成安装之后,程序安装结束,单击“完成”,便可以启动VS Code,如图1-2-26所示。

图1-2-26 VS Code安装完成界面

第一次启动时,VS Code会引导用户对其进行配置,用户可以根据自己的喜好进行配置,如图1-2-27所示。

图1-2-27 配置VS Code

进阶二:安装VS Code的Go插件

通过进阶一,我们完成了VS Code的安装,然而我们仅获得了一个强大的编辑器,还不能进行Go语言程序开发。在本进阶中,我们将从VS Code扩展里面安装Go插件,以此来更好地使用VS Code编写Go程序,具体操作如下。

首先,单击左侧的扩展图标,在搜索文本框中输入go后按“Enter”键,随后可以看到很多关于Go语言的插件,选择第一个插件并安装,如图1-2-28所示。

图1-2-28 搜索并安装Go插件

正常情况下,在安装插件的过程中不会出现任何提示。当安装完成之后,“安装”按钮会变成齿轮图标,如图1-2-29所示。

图1-2-29 Go插件安装完成

同理,安装Code Runner插件。Code Runner是一种能够让用户一键快捷运行各类代码的插件,如图1-2-30所示。

图1-2-30 搜索并安装Code Runner插件

与 Go 插件安装过程一样,当“安装”按钮变成齿轮图标就代表插件安装完成了,如图1-2-31所示。

图1-2-31 Code Runner插件安装完成

最后,为了方便使用,我们可以安装一个简体中文语言包。在搜索文本框输入Chinese(Simplified)进行搜索安装即可,步骤和上述过程类似。

进阶三:使用VS Code编写Go程序

使用VS Code编写Go程序

当安装完Go插件之后,就可以使用VS Code编写Go语言程序了,具体步骤如下。

首先单击“文件”→“新建文本文件”命令,如图1-2-32所示。

图1-2-32 新建文本文件

在代码编辑区域中写入如下代码。

程序示例:【例1-2-2】使用VS Code编写的第一个Go程序

1 package main
2 import "fmt"
3 func main() {
4   fmt.Println("读书是学习,使用也是学习,而且是更重要的学习。")
5 }

当输入以上代码之后,VS Code 不会有任何的特殊显示,这是因为代码默认存储在Untitled-1.txt临时文件之中,如图1-2-33所示。

图1-2-33 Untitled-1.txt临时文件

按下键盘上的“Ctrl+S”组合键对文件进行保存,修改文件名为1.2-hello.go。这里以保存到C:\learn目录下为例,如图1-2-34所示。

图1-2-34 保存为Go文件

此时,再回到VS Code界面,可以看到刚刚输入的代码已经被不同程度地高亮显示。

Go Modules从Go 1.16版本开始,成为默认包管理工具。Go Modules会将项目(文件夹)下的所有依赖整理成一个go.mod文件,实现不在GOPATH目录下创建项目。由于learn文件夹并不在GOPATH目录下,因此需要使用Go Modules工具对learn文件夹进行初始化,项目初始化操作命令的格式是“go mod init项目名称”。进入learn目录,使用命令行执行go mod init learn命令完成go.mod的创建,如图1-2-35所示。

图1-2-35 对learn文件夹进行初始化

命令执行完成后,会在learn文件夹下出现一个go.mod文件,表示项目初始化成功,go.mod文件如图1-2-36所示。

图1-2-36 go.mod文件

此时便可以在learn目录下运行Go程序。进入VS Code代码编辑界面,右击,选择“Run Code”运行程序。当程序运行后,会在“输出”中显示“读书是学习,使用也是学习,而且是更重要的学习。”,这就代表VS Code可以运行Go程序了,如图1-2-37所示。

图1-2-37 选择“Run Code”运行程序

在VS Code中也可以使用终端运行程序。单击“终端”,输入go run "c:\learn\1.2-hello.go"命令即可运行程序,如图1-2-38所示。

图1-2-38 使用终端运行程序

程序解读:

go run命令把编译和执行合为一步完成。更准确地说,它把编译过程隐藏了起来,但编译过程依然存在。工作目录被设置为当前目录,可执行文件被放在临时文件中执行,因此并不会在当前目录中留下可执行文件。