1. À propos des modules go
- Les modules 1.1 go sont une nouvelle fonctionnalité de go1.11
现在已有go 1.13.4 了本人用了就是最新版的
- 1.2 À propos de la définition officielle des modules
模块是相关Go包的集合。modules是源代码交换和版本控制的单元。 go命令直接支持使用modules,包括记录和解析对其他模块的依赖性。modules替换旧的基于GOPATH的方法来指定在给定构建中使用哪些源文件。
- 1.3 Configuration à l'aide de modules
- Configurer GO111MODULE
GO111MODULE 有三个值 off , on,auto
GO111MODULE=off,go命令行将不会支持module功能,寻找依赖包的方式将会沿用旧版本那种通过vendor目录或者GOPATH模式来查找。
GO111MODULE=on,go命令行会使用modules,而一点也不会去GOPATH/src目录下查找。 (pkg 包都存放在 $GOPATH/pkg 下)
GO111MODULE=auto,默认值,go命令行将会根据当前目录来决定是否启用module功能。(pkg 包都存放在 $GOPATH/pkg 下)
- 1.4 Configuration personnelle
export GO111MODULE=auto
因为以前没有使用 ,未来兼容以前的项目,暂设成auto
Deux, quelques commandes de go mod
commander |
Description |
Télécharger |
télécharger les modules dans le cache local (important pour télécharger les packages de dépendances) |
Éditer |
modifier go.mod à partir d'outils ou de scripts (编辑 go.mod |
graphique |
graphique des exigences du module d'impression |
init |
initialiser le nouveau module dans le répertoire courant (il est important d'initialiser le mod dans le répertoire courant) |
rangé |
ajouter les modules manquants et supprimer les modules inutilisés (retirer les modules manquants, supprimer les modules inutilisés est important) |
vendeur |
faire une copie vendue des dépendances (copier les dépendances vers le fournisseur) |
Vérifier |
vérifier que les dépendances ont le contenu attendu (vérifier que les dépendances sont correctes) |
Pourquoi |
expliquer pourquoi des packages ou des modules sont nécessaires |
Trois, comment utiliser go mod
mkdir hello
cd hello
go mod init hello
# 此时会出现一个hello下会出现一个 go.mod 目录
# 需要下载 所有第三方包时 go mod download
# 下载第三包可以直接使用 go get need_pkg
# 下载好的依赖 和 版本 会加入到 go.mod 里面,
# 下载好的第三包 会放在到$GOPATH/pkg/mod 中
# 没有设置GOPATH的话 下载好的第三方包会放在~/go/pkg/mod
# 如果你想放在当前目前可以执行如下命令
go mod vendor
# 此时你的包就会出现在vendor下了,意思是将依赖包放在vendor中
- 3.2 À propos de la mise à niveau des dépendances
go list -m -u all 来检查可以升级的package
go get -u 升级所有依赖
go get -u need-pack 升级指定的依赖
- 3.3 À propos de l'empaquetage de dépendances
go build -ldflags="-s -w" -o app ./main.go
# -ldflags="-s -w" 压缩程序
- 3.4 Lorsque github extrait les projets d'autres personnes contenant go.mod, téléchargez tous les packages tiers
go mod download
- 3.5 À propos de l'utilisation des packages personnalisés
hello
|--conf
|-conf.go
|-main.go
|-go.mod
如何导入conf 包呢?
先查看go.mod 中的module 后的定义的module_name
在导入时 直接使用module_name/conf 即可
Quatre, configuration du goland
goland 升级到最新的,旧的goland 版本时不支持go mod,
在preferences -> go -> Go Modules(vgo)
给Enable Go Modules (vgo) Integration 打勾勾就行
上图的那个圈起来的地方一定要勾上,
Enable Go Modules(vgo) 启用modules 模式
verdoring mode 会使用vendor 文件夹中的包(不用打勾,打勾意味着依赖包都使用vendor 目录里面的.)