GO编程学习第八天
包管理
1.Go Modules是什么
Go Modules于Go语言1.11版本时引入,在1.12版本正式支持,是由Go语言官方提供的包管理解决方案
Modules是相关Go包的集合,是源代码交换和版本控制的单元。go命令直接支持使用Modules,包括记录和解析对其他模块的依赖性
2.Go Modules的使用方法
2.1 环境变量
可以用Go env命令查看当前配置
$ go env
GO111MODULE="auto"
GOPROXY="https://proxy.golang.org,direct"
GONOPROXY=""
GOSUMDB="sum.golang.org"
GONOSUMDB=""
GOPRIVATE=""
go env -w GO111MODULE=on //更改Go module环境
代码如下(示例):
GOPROXY 设计go module的代理
GOSUMDB 拉去模块时保证模块版本数据的一致性
2.2 初始化模块
go mod init [module name]
然后当前目录会生成go.mod文件
Go Modules会自动管理包,如果需要引入依赖,只需要在go.mod下添加以下内容(以gorose为例子)
module ModuleName
require (
github.com/gohouse/gorose v1.0.5
)
2.3 go get :用于拉取新的依赖
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
import warnings
warnings.filterwarnings('ignore')
import ssl
ssl._create_default_https_context = ssl._create_unverified_context
2.4 常用命令
go mod init // 初始化go.mod
go mod tidy // 更新依赖文件
go mod download // 下载依赖文件
go mod vendor // 将依赖转移至本地的vendor文件
go mod edit // 手动修改依赖文件
go mod graph // 查看现有的依赖结构
go mod verify // 校验依赖