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
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值
package main
import (
"fmt"
)
/*
1. 项目初始化
mkdir <projectName>
cd <projectName>
go mod init <projectName>
在projectName目录下生成go.mod文件 用于管理依赖包
2. 依赖包相关
通过go get <包名> 下载依赖或者通过 go mod tidy 只下载import的包
go list -m -version <包名> 用于查看依赖包的所有历史版本信息
go list -m -u -json <包名> 用于json格式化查看依赖包的信息
*/funcmain() {
fmt.Println("hello go...")
}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)