Go语言包管理工具dep的安装与使用

2019-11-10 11:43:02王冬梅

建立好之后,我们在main.go中写一个简单的go程序:

package main

import (
 "fmt"
)
func main() {
 fmt.Println("hello)
}

之后我们在这个目录下运行如下命令:

dep init

运行完成之后,dep就会为我们自动生成如下文件和目录:

 

有点像常规go项目的样子了,不过需要注意的是pkg中存放的go语言引入包的缓存文件,vendor中存放的是真正的引入的包内容。接下来是两个文件,Gopkg.lock和Gopkg.toml。Gopkg.lock文件是自动生成的,而Gopkg.toml文件是我们可以编辑的文件,通过编辑这个文件,并运行dep的命令可以达到引入包的目的:

# 必需包
required = ["github.com/gin-gonic/gin"]
# 忽略包
#ignored = []没有可以不写
# 项目元数据
#[metadata]


# 约束条件
[[constraint]]
 # name = 
 # 可选:版本
 # version =
 # 分支
 # branch
 # 修订
 # revision
 # 可选:指定来源
 # source = "github.com/gin-gonic/gin"

以上代码是一个示例,我们写好之后运行

dep ensure

就可以了,我们会看到vendor下多了一些有关此包的依赖和引入。

我们引入了gin框架的包,所以我们现在就可以使用gin框架了,写的时候,和我们平时的go语言项目一样:

package main

import "github.com/gin-gonic/gin"

func main() {
 r := gin.Default()
 r.GET("/ping", func(c *gin.Context) {
 c.JSON(200, gin.H{
  "message": "pong",
 })
 })
 r.Run() // listen and serve on 0.0.0.0:8080
}

这样做完全没有问题,我们只用考虑这个包原本的路径github.com/gin-gonic/gin就好。

接下来我们就可以编译运行这个项目了。

另外需要注意的是,使用dep管理包控制依赖的时候,如果我们需要新建目录,并编写自己的新的包名的时候,只需要在src下新建目录就可以了。这样做才能正确引入。

比如:我们要编写一个add的函数,我们可以这样,在src下简历一个utils目录,下写个add.go文件:

package utils

func Add(a int, b int) int {
 return a+b
}

这样在主程序中,这样写就可以import自己写的包,并使用自己的函数了:

package main

import (
 "utils"
 "fmt"
)
func main() {
 fmt.Println("hello")
 utils.Add(1, 1)
}

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,如果有疑问大家可以留言交流,谢谢大家对易采站长站的支持。