go mod模块化介绍

Lepaskan: 2020-02-19 17:56:00
ke hadapan
3186 orang telah melayarinya

go mod模块化介绍

很多语言有专门的工具或者库来管理项目中的依赖包或第三方库,比如java有maven,javascript有npm。

但对于go 来说,v1.1之前是没有内置的go模块工具的,项目文件需要放在GOPATH/src下来运行,这样的工作方式比较强制,可能会降低效率。

在v1.1之后,go提供了内置的go mod工具,通过go mod我们可以愉快的进行go依赖包的管理和升级。

下面就来由go入门教程栏目来为大家介绍一下go mod。

go mod 常用命令

download    download modules to local cache
edit        edit go.mod from tools or scripts
graph       print module requirement graph
init        initialize new module in current directory
tidy        add missing and remove unused modules
vendor      make vendored copy of dependencies
verify      verify dependencies have expected content
why         explain why packages or modules are needed
Salin selepas log masuk

在新项目中配置go mod

在GOPATH外新建一个目录,使用go mod init xxx来初始化go.mod文件。go.mod中提供了当前项目的依赖库的名字和版本

新建main.go,加入代码

package main

import "github.com/astaxie/beego"

func main() {
	beego.Run()
}
Salin selepas log masuk

如果你使用的是vscode编辑器,go拓展会自动对已打开文件中的依赖进行下载或者你也可以运行go run main.go来下载依赖包。

此时go.mod中内容已更新

module go-mod

go 1.13

require github.com/astaxie/beego v1.12.0
Salin selepas log masuk

同时项目中会生成go.sum文件,此文件记录当前依赖树

对于golang.org下的依赖包可以通过replace来替换成github.com中的依赖包

beego项目使用go mod

通过bee工具生成的 beego项目时生成在GOPATH之下的,需要将beego项目移到GOPATH之外,生成go mod init xxx生成go.mod文件。

更多go语言知识请关注php中文网go语言教程栏目。

Atas ialah kandungan terperinci go mod模块化介绍. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
go
sumber:csdn.net
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!