目录
Go环境
环境下载安装
# 下载地址:https://golang.google.cn/dl/
windows:
go1.20.5.windows-amd64.msi:安装版 安装流程中可添加环境变量全局使用
go1.20.5.windows-amd64.zip: 免安装 解压即可用 全局使用需添加环境变量
Linux:
1. 下载
wget https://golang.google.cn/dl/go1.21.0.linux-amd64.tar.gz
2. 解压到指定目录
tar -C /usr/local -zxvf go1.21.0.linux-amd64.tar.gz
3. 添加环境变量
vim ~/.bash_profile 或者 vim /etc/profile
export GOROOT=/usr/local/go
export PATH=$PATH:$GOROOT/bin
source ~/.bash_profile 或者 source /etc/profile
或者
echo "export GOROOT=/usr/local/go\nexport PATH=$PATH:$GOROOT/bin" >> ~/.bash_profile && source ~/.bash_profile
4. 验证
go version
常规命令
1. 查看go版本
go version
2. 查看配置项
go env
-json:json形式输出(可选)
3. 修改配置项
3.1 go依赖管理库(决定项目依赖管理是用go Modules模式或GOPATH模式)
go env -w GO111MODULE=on
on: go忽略$GOPATH和vendor文件夹 根据go.mod管理依赖
off: go从$GOPATH和vendor文件夹寻找依赖
auto: 根据$GOPATH/src外根目录是否存在go.mod 开启或关闭
3.2 go依赖下载源
go env -w GOPROXY=https://goproxy.cn,direct
3.3 go项目工作目录(go.1.11版本后有module、可通过go.mod管理特定项目的依赖)
go env -w GOPATH=
3.4 go项目构建过程中的缓存存储目录(go build xx.go->xx.exe)
go env -w GOCACHE=
3.5 存储go环境变量的配置文件(不建议修改)
go env GOENV
3.6 go的安装目录(不建议修改)
go env GOROOT
3.7 恢复配置项默认值
go env -u GOROOT
3.8 单元测试(需要切换目录到源码内包含以Test开头的函数名的*_test.go文件)
go test
4. 下载依赖
go get xxx/package@latest: 最新版本
go get xxx/package@master: master最新commit版本
go get xxx/package@v1:tag为v1的commit版本
go get xxx/package@1234be: hash值为1234be的commit版本
go get xxx/package/v1: 指定版本
go get -u : 更新版本
5. 查看依赖可下载版本
go list -m -versions xxx/package
6. 网络代理临时方案(配置后再下载依赖 只对当前控制台有效)
set http_proxy=http://ip:port
set https_proxy=http://ip:port
goModule命令
1. 初始化module(生成go.mod)
go mod init <moduleName>
2. 下载依赖到本地($GOPATH/pkg/mod和$GOPATH/pkg/sum)
go mod download
3. 编辑go.mod
go mod edit
-json
-require
-exclude
4. 文本模式输出模块下依赖
go mod graph
5. 同步当前正在使用的依赖(删除异常或不使用的依赖)
go mod tidy
6. 验证依赖
go mod verify
7. 清除当前项目所有依赖($GOPATH/pkg/mod下的依赖-谨慎操作)
go clean -modcache
ps:
go module 安装依赖的原则是先拉最新的release tag
若无tag则拉最新的commit
go 会自动生成一个 go.sum 文件来记录 dependency tree和对应的hash值
go.mod: 依赖管理文件
提供module require replace exclude四个命令
module: 指定包名
require: 指定依赖项
replace: 替换依赖项
exclude: 忽略依赖项
go.sum: 记录依赖的版本和hash值
go实例
package main
import (
"fmt"
)
func main() {
fmt.Println("hello go...")
}
标签:GOPATH,依赖,package,环境,开发,env,go,mod From: https://www.cnblogs.com/fsh19991001/p/17656588.html