Golang安装和版本介绍_golang

1、版本

2007年9月25日,Rob Pike在一封回复邮件中把新语言命名为Go。
2009年10月30日,Go语言首次公之于众。
2009年11月10日正式开源,这一天被Go官方确定为Go语言诞生日。
Go语言也拥有了自己的吉祥物(Rob Pike夫人Renee French设计的地鼠)。Go程序员被称为
Gopher。
2012年3月28日,Go 1.0正式发布。
2015年8月19日,Go 1.5这个里程碑版本发布。
Go不在依赖C编译器,Go编译器和运行时都使用Go代码了,实现了自举
GOMAXPROCS的默认值1改为运行环境的CPU核数
2018年8月25日,Go1.11版本发布。
引入Go Module包管理机制
2021年2月18日,Go 1.16版本发布。
Go Module-aware模式成为默认模式,即GO111MODULE默认从auto改为on
go build/run命令不再自动更新go.mod和go.sum文件
2022年3月15日,Go 1.18版本发布
引入了泛型Generic
支持工作区Workspace

安装

前稳定版本1.19.x 和 1.20.x

安装文档:

https://golang.google.cn/doc/install

https://go.dev/doc/install

https://go.dev/dl/ https://golang.google.cn/dl/ 下载对应操作系统平台指定的版本即可。

linux安装

tar xf go1.20.4.linux-amd64.tar.gz -C /usr/local
export PATH=$PATH:/usr/local/go/bin
export GOPROXY=https://mirrors.aliyun.com/goproxy/,direct //1.13开始支持,建议修改成国内的镜像站

//环境变量
# go env
GO111MODULE="" //早期的版本管理以来使用GOPATH和vender文件夹,
	从1.11引入Go Module,1.16版本开始GO111MODULE默认为on,会根据go.mod管理和下载依赖
GO
GOARCH="amd64"
GOENV="/root/.config/go/env"
GOMODCACHE="/root/go/pkg/mod" //存储第三方依赖包
GOOS="linux"
GOPATH="/root/go" //第三方依赖包的安装路径,现在的版本统一由go mod管理
GOPROXY="https://mirrors.aliyun.com/goproxy/,direct"
GOROOT="/usr/local/go"  //go的安装目录
GOTOOLDIR="/usr/local/go/pkg/tool/linux_amd64"
GOVERSION="go1.20.4"
# echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin:/usr/local/go/bi
n
GOPROXY 1.13开始支持。国外站点经常失败,建议改为国内镜像站地址 
参考 https://go.dev/ref/mod#environment-variables 
GOPROXY 缺省是 https://proxy.golang.org,direct 
direct 表示从镜像下载失败后,直接从原版本库地址下载 o
ff 表示不允许从任何源下载 
GOPROXY环境变量可以指定包下载镜像 
七牛云:
	GOPROXY=https://goproxy.cn,direct 
阿里云:
	GOPROXY=https://mirrors.aliyun.com/goproxy/ 
腾讯云:
	GOPROXY=https://mirrors.cloud.tencent.com/go/

VSCODE常用插件

  • Go
  • gopls 自动构建,格式化,自动完成
  • dlv 调试工具F5
  • Outline Map 源码大纲
  • Golang postfix
  • run code

Go命令

1、go version
2、go env
3、go mod  //Go Module工程化模块相关命令,模块化之后就可以进行更好的工程管理,依赖管理
	go mod init test.com/test //初始化模块目录,产生go.mod文件,和git int等很类似
	go mod tidy //扫描当前模块,从go.mod中移除未使用的依赖,添加新的依赖

4、go get //查找依赖包,如果未下载,则下载项目依赖包,添加相关信息到go.mod中,文件存储到环境变量
GOMODCACHE指定的目录中(默认是GOPATH/pkg/mod) -u:下载最新的包或有效的更新包,默认情况下,本地有包就不下载了
如果有最新的版本,-u会更新本地包

5、install 除了具备get的功能外,如果需要编译包,就执行go install,并把编译好的可执行文件放到
GOPATH/bin下,例如:go install golang.org/x/tools/gopls@latest
6、build 编译go代码,生成可执行文件 -o指定生成的可执行文件,go build -o hello.exe main.go
7、run 编译生成可执行文件并执行
	go run main.go  指定main函数所在文件 
	go run test.com/test  去该模块找main函数
8、fmt 对代码格式化