第一步,下载安装包go1.19.linux-amd64.tar.gz。

可以登录网址:Downloads - The Go Programming Language下载,也可以登录网址:Go下载 - Go语言中文网 - Golang中文社区下载。当然,还可以手动wget下载安装。

第二步,解压安装包go1.19.linux-amd64.tar.gz

命令:cd /usr/local/src

tar -xzf go1.19.linux-amd64.tar.gz

第三步,配置环境。

在环境变量配置文件/etc/profile中添加以下内容:

# GO PATH

export PATH=$PATH:/usr/local/src/go/bin

# 使profile配置立即生效

命令:source /etc/profile

# 查看Go版本

命令:go version

若结果显示“go1.19 linux/amd64”,则说明go安装成功。

# 查看go环境变量

命令:go env

设置Go Modules和代理

Go Modules是Go语言依赖管理解决方案。

Go.mod是Golang1.11版本新引入的官方包管理工具用于解决之前没有地方记录依赖包具体版本的问题,方便依赖包的管理。

Go.mod其实就是一个Modules,Modules是相关Go包的集合,是源代码交换和版本控制的单元。

一个源代码目录甚至是空目录都可以作为Modules,只要其中包含有go.mod文件。

第一步,mod文件字段内容

go.mod是启用了Go moduels的项目所必需的最重要的文件,它描述了当前项目(当前模块)的元信息,每一行都以一个动词开头。目前有以下5个动词:

module:用于定义当前项目的模块路径。

go:用于设置预期的Go版本。

require:用于设置一个特定的模块版本。

exclude:用于从使用中排除一个特定的模块版本。

replace:用于将一个模块版本替换为另外一个模块版本。

第二步,生成go.mod

# 打开Go modules

命令:go env -w GO111MODULE=on

# 设置GOPROXY

命令:go env -w GOPROXY=https://goproxy.cn,direct

# 在文件夹/usr/local/src/go中新建文件夹utl,并在文件夹utl下新建hello.go。hello.go的内容如下:

package main

import ( "fmt" )

func main() {

       fmt.Println("Hello, world!")

}

# 在项目的根目录下生成go.mod文件

命令:cd /usr/local/src/go/utl

go mod init hello(模块名称)

第三步,Go modules常用命令

# 了解Go modules启用和未启用两种状态下的go get的行为

命令:go help module-get

go help gopath-get

用go get拉取新的依赖

# 拉取最新的版本(优先择取tag)

命令:go get golang.org/x/text@latest

# 拉取master分支的最新commit

命令:go get golang.org/x/text@master

# 拉取tag为v0.3.2的commit

命令:go get golang.org/x/text@v0.3.2

# 拉取hash为342b231的commit,最终会被转换为v0.3.2

命令:go get golang.org/x/text@342b2e

# 更新现有的依赖

命令:go get -u

# 下载go.mod文件中指明的所有依赖

命令:go mod download

# 整理现有的依赖

命令:go mod tidy

# 查看现有的依赖结构

命令:go mod graph

# 生成go.mod文件(唯一可以生成go.mod文件的子命令)

命令:go mod init

# 编辑go.mod文件

命令:go mod edit

# 导出现有的所有依赖

命令:go mod vendor

# 校验一个模块是否被篡改过

命令:go mod verify