go mod模块化介绍


本文摘自php中文网,作者尚,侵删。

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

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

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

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

go mod 常用命令

1

2

3

4

5

6

7

8

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

在新项目中配置go mod

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

新建main.go,加入代码

1

2

3

4

5

6

7

package main

 

import "github.com/astaxie/beego"

 

func main() {

    beego.Run()

}

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

此时go.mod中内容已更新

1

2

3

4

5

module go-mod

 

go 1.13

 

require github.com/astaxie/beego v1.12.0

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

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

beego项目使用go mod

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

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

以上就是go mod模块化介绍的详细内容,更多文章请关注木庄网络博客!!

相关阅读 >>

手撸Golang Go与微服务 聚合模式之1

Golang单向链表

Go中sync.cond源码解读

Golang官方嵌入文件到可执行程序

Golang 使用 for 输出九九乘法表

分享 echo-framework 项目基础框架

Golang 能不能打包为 dll ?

Go get下载包失败问题

Go语言结构体

Golang协程详解和应用

更多相关阅读请进入《Go》频道 >>




打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...