这是我参与「第五届青训营 」笔记创作活动的第4天
书接上回,模块划分之后,在自己的目录进行开发。
实战中的go mod
GO111MODULE
在Go语言 1.12 版本之前,要启用 go module 工具首先要设置环境变量 GO111MODULE,不过在Go语言 1.13 及以后的版本则不再需要设置环境变量。通过 GO111MODULE 可以开启或关闭 go module 工具。
-
GO111MODULE=off 禁用 go module,编译时会从 GOPATH 和 vendor 文件夹中查找包;
-
GO111MODULE=on 启用 go module,编译时会忽略 GOPATH 和 vendor 文件夹,只根据 go.mod下载依赖;
-
GO111MODULE=auto(默认值),当项目在 GOPATH/src 目录之外,并且项目根目录有 go.mod 文件时,开启 go module。 Windows 下开启 GO111MODULE 的命令为:
set GO111MODULE=on //or set GO111MODULE=autoMacOS 或者 Linux 下开启 GO111MODULE 的命令为:
export GO111MODULE=on //or export GO111MODULE=auto
常见go mod指令
| go mod download | 下载依赖包到本地(默认为 GOPATH/pkg/mod 目录) |
|---|---|
| go mod edit | 编辑 go.mod 文件 |
| go mod graph | 打印模块依赖图 |
| go mod init | 初始化当前文件夹,创建 go.mod 文件 |
| go mod tidy | 增加缺少的包,删除无用的包 |
| go mod vendor | 将依赖复制到 vendor 目录下 |
| go mod verify | 校验依赖 |
| go mod why | 解释为什么需要依赖 |
GOPROXY
Windows 下设置 GOPROXY 的命令为:
go env -w GOPROXY=https://goproxy.cn,direct
MacOS 或 Linux 下设置 GOPROXY 的命令为:
export GOPROXY=https://goproxy.cn
go get版本管理
执行go get 命令,在下载依赖包的同时还可以指定依赖包的版本。
- 运行
go get -u命令会将项目中的包升级到最新的次要版本或者修订版本; - 运行
go get -u=patch命令会将项目中的包升级到最新的修订版本; - 运行
go get [包名]@[版本号]命令会下载对应包的指定版本或者将对应包升级到指定的版本。
goctl
安装与环境配置
文档已经写得很详细了
- mac下出现
command not found情况:vim ~/.bash_profile 修改环境变量,在最后添加 # >>> go path <<< export PATH=/Users/{name}/go/bin:$PATH - GOPATH在哪里看?
go env - vscode插件:goctl(包含语法高亮)
api rpc model
文档很全
mysql配置
编写.sql,建表,其余略。
redis配置
略。
未完待续
数据库
- 索引
- 外键依赖
- redis缓存
- 分库分表(更远了)
中间件
-
消息队列