• go语言的模块处理


    在java语言中有maven 来管理项目的包和库;在JavaScript 中有npm 和cnpm 进行管理项目的包; 在PHP中有composer中管理项目的包。

    那么在go 语言中也有包管理器,是 mod;go modules ,这个是随着 Go 1.11 的发布和我们见面的,这是官方提倡的新的包管理。

    当项目中有 go.mod 时,使用 go modules 管理;强烈建议每个go项目之初都要先生成一个 go.mod 包管理,类似PHP的composer.json 文件的作用;

    生成项目的 go.mod 文件。

    go mod init  github.com/xxxx/xxxxx

    执行完命令后就会生成 go.mod 文件,内容如下;

    module github.com/xxxx/xxxxx
    go 1.15

    在目录中创建一个 `main.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
    }

    接下来,开始下载依赖包 命令。

    go mod tidy

    执行完成后,看一下 `go.mod` 文件:

    module github.com/xxxx/xxxxx
    go 1.15 require github.com/gin-gonic/gin v1.7.2

    go mod 命令

    go mod tidy

    拉取缺少的模块,移除不用的模块。 会从代码里直接拉取包

    go mod vendor

    将依赖复制到vendor下,建议把每个项目的包放到一个单独的vender ,调试源码非常方便。

    go mod download

    下载依赖包。

    go mod verify

    检验依赖。

    go mod graph

    打印模块依赖图。

    其他命令,可以执行 go mod ,查看即可。

     

  • 相关阅读:
    Object的create、assign、getPrototypeOf与拷贝
    vue中使用axios最详细教程
    COJ1249(竞争性酶抑制剂和同工酶)
    COJ1127(芝麻开门)
    COJ1219(建食堂)
    COJ1236(删数游戏)
    COJ1247(有髓鞘神经纤维动作电位传导)
    POJ1159(Palindrome)
    POJ1080(Human Gene Functions)
    Uva10034(Freckles)
  • 原文地址:https://www.cnblogs.com/tgzmos/p/14977565.html
Copyright © 2020-2023  润新知