zoukankan      html  css  js  c++  java
  • go 1.13 module学习小记

    go 1.13中默认启用了Modules进行依赖管理,在学习Modules过程中遇见了一些坑,特此记录。

    首先 go mod init xxx 命令用来初始化依赖管理,这里的xxx是新建项目的包名。

    replace指令用来替换导入本地包,在替换时=>两侧的空格是不可省略的,替换语法是 go mod init xxx 这里初始化声明的xxx包名在某个目录搜索,具体如下:

    go mod init example.com/m  //此处指定包名为example.com/m,假定这个命令在/Users/use/xmodule下执行的,也即在/Users/use/xmodule下新建项目

    require example.com/m  v0.0.0      //此处引入依赖,版本号不可省略
    replace example.com/m => /Users/use/xmodule  //此处替换上面要引入的依赖,否则会去网络上拉取。注意=>两侧有空格,左侧是init初始化时指定的包名,右侧是这个包所在的实际目录
     
    启用了Modules依赖管理的项目,在go build 或者go run的时候会自动拉取下载依赖。下载的依赖会放在$GOPATH/pkg/mod/目录下,网上有篇“拜拜了,GOPATH君”这样的文章,比较误导人,可以看到GOPATH还是有用的,并不是彻底被废弃了,至少还会用来存储依赖包。
  • 相关阅读:
    Redis数据结构之字典
    多路复用
    Redis数据结构之SDS
    记一个图片转换神器vectorizer
    Java基础之面向对象上
    科学
    Linux内核源码分析之setup_arch (二)
    Linux内核源码分析之setup_arch (一)
    printk 流程分析
    多个线程顺序打印问题,一网打尽
  • 原文地址:https://www.cnblogs.com/pluse/p/13713547.html
Copyright © 2011-2022 走看看