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 ,查看即可。

     

  • 相关阅读:
    golang实现单链表
    koa中间执行机制
    vuex源码简析
    从浏览器渲染过程看重绘回流
    javascript的this
    js 设计模式:观察者和发布订阅模式
    H5 移动端 键盘遮挡焦点元素解决方案
    webpack4 css modules
    Daily,一个入门级的 React Native 应用
    javascript: 类型转换
  • 原文地址:https://www.cnblogs.com/tgzmos/p/14977565.html
Copyright © 2011-2022 走看看