zoukankan      html  css  js  c++  java
  • 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 ,查看即可。

     

  • 相关阅读:
    错题集知识(持续更新)
    Java 初始化过程
    java基础自定义测试异常类
    1049 数列的片段和 (20 分)
    1044 火星数字 (20 分)
    1048 数字加密(20分)
    js 全选反选和全不选
    robust programmings
    gdb define command
    好久没有破解别人的无线了, 重温一下
  • 原文地址:https://www.cnblogs.com/tgzmos/p/14977565.html
Copyright © 2011-2022 走看看