golang学习指南
总结学习golang的一些常用知识点

背景

Go 语言诞生于 2007 年 9 月 20 日,由三位大佬共同创造,他们分别是
Ken Thompson,图灵奖获得者,Unix 系统创始人,B 语言创始人,C 语言创始人
Rob Pike,Plan9 操作系统作者之一,UTF-8 发明者之一,Go 语言设计领头人
Robert Griesemer,JS V8 引擎研发者,三人之中最年轻

安装

直接安装指定 go 版本

在镜像站拉取 golang 压缩包

$

解压到指定目录

$

设置环境变量

$HOME/.bashrc文件中设置环境变量

1
2
3
export GOROOT=$HOME/go
export GOPATH=$HOME/gopath
export PATH=$PATH:$GOROOT/bin:$GOPATH/bin
$

GOROOT的作用

GOROOT 是 Go 语言安装的位置,它包含 Go 的标准库和工具链(比如编译器和 go 命令)。$GOROOT/pkg/mod 目录包含编译后的标准库包,这些是 Go 语言自带的包,而不是你的项目依赖

GOPATH的作用

GOPATH 在 Go 模块出现之前,是用来存放你自己的 Go 代码和第三方包的地方。$GOPATH/pkg/mod目录是 Go 模块缓存依赖的地方,即便 Github 上的 go 依赖包被删除了,也能在本地缓存继续使用

设置 GO111MODULE 为 on

设置 GO111MODULE 为 on 的作用是 gopath 默认为工作目录,如果不开启的话,就只能在$GOPATH/src目录下创建 go 项目,使用 go 模块,但是开启之后就能在任意目录使用 go 模块

安装包管理工具 gvm

gvm 是 Go Version Manager 的缩写,它是一个用于管理 Go 语言版本的工具。通过 gvm,用户可以轻松地安装、卸载不同版本的 Go 语言环境,并在它们之间切换。类似 node 的 nvm 和 python 的 pyenv

Github 仓库地址

安装 Bison

$

安装 gvm

$
配置环境变量
1
2
export GVM_ROOT="$HOME/.gvm"
[ -s "$GVM_ROOT/scripts/gvm" ] && source "$GVM_ROOT/scripts/gvm"
$
安装指定版本
1
2
3
4
5
6
7
8
9
# 查找相应版本
gvm listall
# 安装相应版本的二进制(相比直接安装会快很多)
gvm install go1.18.10 -B
gvm install go1.23.1 -B
# 查看所有版本
gvm list
# 使用相应版本
govm use 1.23.1