系列教程之《高铁上的GO》-第一篇
Posted 坚果的博客
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了系列教程之《高铁上的GO》-第一篇相关的知识,希望对你有一定的参考价值。
作者:坚果,OpenHarmony布道师,OpenHarmony校源行开源大使,CSDN博客专家,电子发烧友鸿蒙MVP,51CTO博客专家博主,阿里云博客专家。
本文主要讲解Go是什么,Go如何安装,开发Go的编辑器,以及第一个Go程序。
系列教程之《高铁上的GO》-第一篇
Let‘S GO
Go是一门编译型的和静态的编程语言。 Go诞生于谷歌研究院。 Go的核心设计成员中包括很多有着数十年编程语言研究领域经验的研究者。
Go语言的优点
- 程序编译时间短
- 像动态语言一样灵活
- 内置并发支持
- Go程序生成的二进制可执行文件常常拥有以下优点:
- 内存消耗少
- 执行速度快
- 启动快
- Go的语法很简洁并且和其它流行语言相似。
- Go拥有一个比较齐全的标准库。
- Go拥有一个活跃和回应快速的社区。
Go适合做什么
- 服务端开发
- 分布式系统,微服务
- 网络编程
- 区块链开发
- 内存KV数据库,例如boltDB、levelDB
- 云平台
Go的未来
目前Go语言已经⼴泛应用于人工智能、云计算开发、容器虚拟化、⼤数据开发、数据分析及科学计算、运维开发、爬虫开发、游戏开发等领域。
Go语言简单易学,天生支持并发,完美契合当下高并发的互联网生态。Go语言的岗位需求多,好找工作。
安装
Go官网下载地址:https://go.dev/
Go官方镜像站(推荐)https://golang.google.cn/dl/
Windows平台和Mac平台推荐下载可执行文件版,Linux平台下载压缩文件版。
检查
安装完成之后,可以打开终端窗口,输入go version
命令,查看安装的Go版本
Go开发编辑器
安装完成之后就是编辑器的选择了
Go采用的是UTF-8编码的文本文件存放源代码,理论上使用任何一款文本编辑器都可以做Go语言开发,这里推荐使用[VS Code
](https://code.visualstudio.com/Download)和Goland
。 VS Code是微软开源的编辑器,而
Goland是jetbrains出品的付费IDE。
我在这里用的是VS Code
Go语言开发的时候为我们提供诸如代码提示、代码自动补全等功能。
Windows平台按下Ctrl+Shift+P
,Mac平台按Command+Shift+P
,这个时候VS Code
界面会弹出一个输入框,如下图:
我们在这个输入框中输入
GOROOT和GOPATH
GOROOT
和GOPATH
都是环境变量,其中GOROOT
是我们安装go开发包的路径,而从Go 1.8版本开始,Go开发包在安装完成后会为GOPATH
设置一个默认目录,并且在Go1.14及之后的版本中启用了Go Module模式之后,从此以后不一定非要将代码写到GOPATH目录下,所以也就不需要我们再自己配置GOPATH了,使用默认的即可。
想要查看你电脑上的GOPATH
路径,只需要打开终端输入以下命令并回车:
go env
在终端输出的内容中找到GOPATH
对应的具体路径。
GOPROXY
Go1.14版本之后,都推荐使用go mod
模式来管理依赖环境了,也不再强制我们把代码必须写在GOPATH
下面的src目录了,你可以在你电脑的任意位置编写go代码。(网上有些教程适用于1.11版本之前。)
默认GoPROXY配置是:GOPROXY=https://proxy.golang.org,direct
,由于国内访问不到https://proxy.golang.org
,所以我们需要换一个PROXY,这里推荐使用https://goproxy.io
或https://goproxy.cn
。
可以执行下面的命令修改GOPROXY:
go env -w GOPROXY=https://goproxy.cn,direct
第一个Go程序
Hello World
现在我们来创建第一个Go项目——helloWord
。在我们桌面创建一个helloWord
目录。
go mod init
使用go module模式新建项目时,我们需要通过go mod init 项目名
命令对项目进行初始化,该命令会在项目根目录下生成go.mod
文件。例如,我们使用hello
作为我们第一个Go项目的名称,执行如下命令。
go mod init hello
运行之后的命令如图所示:
编写代码
接下来在该目录中创建一个main.go
文件:
package main // 声明 main 包,表明当前是一个可执行程序
import "fmt" // 导入内置 fmt 包
func main() // main函数,是程序执行的入口
fmt.Println("Hello World!") // 在终端打印 Hello World!
非常重要!!! 如果此时VS Code右下角弹出提示让你安装插件,务必点 install all 进行安装。
编译
go build
go build
命令表示将源代码编译成可执行文件。
在hello目录下执行:
go build
编译得到的可执行文件会保存在执行编译命令的当前目录下,如果是Windows
平台会在当前目录下找到hello.exe
可执行文件。我用的是mac,所以就不执行了。但是我们依旧可以用后面的go run main.go来执行程序。
go run
go run main.go
也可以执行程序,该命令本质上是先在临时目录编译程序然后再执行。
这个时候可以在控制台看到helloword
go install
go install
表示安装的意思,它先编译源代码得到可执行文件,然后将可执行文件移动到GOPATH
的bin目录下。因为我们把GOPATH
下的bin
目录添加到了环境变量中,所以我们就可以在任意地方直接执行可执行文件了。
明天的内容要带大家了解一下Go的相关命令,以及文件夹的构成。
参考文档
以上是关于系列教程之《高铁上的GO》-第一篇的主要内容,如果未能解决你的问题,请参考以下文章
Python 程序员快速学 Go+ 系列,第一篇+官方手册翻译
SpringBoot 系列教程 JPA 错误姿势之环境配置问题
Golang 对于 DevOps 之利弊(第 1 部分,共 6 部分):Goroutines, Panics 和 Errors