jonssonyan' Website

怕什么真理无穷,进一步有进一步的欢喜。

0%

Windows10配置Go开发环境

下载 Golang

Golang 官网: https://go.dev/

下载好后将Go/bin目录添加至系统环境变量

修改GOPATH路径

windows上默认路径%USERPROFILE%\gomac&linux 上默认路径$HOME/go,本文将GOPATH路径设置为: D:\gopath

D:\gopath用于存放go mod下载的第三方依赖包,D:\GolandProjects 用于存放项目。

在命令行一次输入以下命令:

1
2
3
4
5
6
# 始终开启go modules
go env -w GO111MODULE=on
# 设置七牛云镜像
go env -w GOPROXY=https://goproxy.cn
# 设置gopath
go env -w GOPATH=D:\gopath

GOPATH添加至环境变量

下载 GoLand

JetBrains GoLand: https://www.jetbrains.com/zh-cn/go/

GoLand 设置 国内镜像

常用镜像地址:

1
2
3
4
# 七牛云
https://goproxy.cn
# 阿里云
https://mirrors.aliyun.com/goproxy

GoLand 设置GOPATH

go mod

使用go mod方式构建项目优点

  1. 自动下载依赖包
  2. 项目不必放在 GOPATH/src 内了
  3. 项目内会生成一个 go.mod 文件,列出包依赖
  4. 所有的第三方包会准确的指定版本号
  5. 对于已经转移的包,可以用 replace 申明替换,不需要改代码

关键词解释

go.mod 可以写以下几个关键字:

  • module 定义模组路径
  • go 定义 go 语言 version
  • require 指定依赖的套件,预设是最新版,可以指定版本号
  • exclude 排除该套件和其版本
  • replace 使用不同的套件版本并替换原有的套件版本

常用命令

  • go mod download 下载模块到本地缓存,缓存路径是 $GOPATH/pkg/mod/cache
  • go mod edit 是提供了命令版编辑 go.mod 的功能,例如 go mod edit -fmt go.mod 会格式化 go.mod
  • go mod graph 把模块之间的依赖图显示出来
  • go mod init 初始化模块(例如把原本 dep 管理的依赖关系转换过来)
  • go mod tidy 增加缺失的包,移除没用的包
  • go mod vendor 把依赖拷贝到 vendor/ 目录下
  • go mod verify 确认依赖关系
  • go mod why 解释为什么需要包和模块