系列教程之《高铁上的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)和GolandVS Code是微软开源的编辑器,而Goland是jetbrains出品的付费IDE。

我在这里用的是VS Code

Go语言开发的时候为我们提供诸如代码提示、代码自动补全等功能。

Windows平台按下Ctrl+Shift+P,Mac平台按Command+Shift+P,这个时候VS Code界面会弹出一个输入框,如下图:

我们在这个输入框中输入

GOROOT和GOPATH

GOROOTGOPATH都是环境变量,其中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.iohttps://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语言官网

以上是关于系列教程之《高铁上的GO》-第一篇的主要内容,如果未能解决你的问题,请参考以下文章

系列教程之《高铁上的GO》-第一篇

Go实现Raft第一篇:介绍

Python 程序员快速学 Go+ 系列,第一篇+官方手册翻译

SpringBoot 系列教程 JPA 错误姿势之环境配置问题

go语言第一篇

Golang 对于 DevOps 之利弊(第 1 部分,共 6 部分):Goroutines, Panics 和 Errors