美文网首页
Go语言学习笔记-包和依赖管理

Go语言学习笔记-包和依赖管理

作者: noonenote | 来源:发表于2019-04-22 16:23 被阅读0次

package包

  1. 基本复用模块单元
    以首字母大写来表明可被包外代码访问
  2. 代码的package可以和所在的目录不一致
  3. 同一目录的里的Go代码的package要保持一致

client/package_test.go:8:8: cannot refer to unexported name series.getFibonacciSerie
client/package_test.go:8:8: undefined: series.getFibonacciSerie

init方法

  1. 在main被执行前,所有依赖的package的init方法都会被执行
  2. 不同包的init函数按照包导入的依赖关系决定执行顺序
  3. 每个包可以有多个init函数
  4. 包的每个源文件也可以有多个init函数,这比较特殊

package

  1. 通过go get来获取远程依赖
    • 通过go get -u 强制从网络更新远程依赖
  2. 注意代码在github上的组织形式,以适应go get
    • 直接以代码路径开始,不要有src

依赖管理

  1. 同一环境下,不同项目使用同一包的不同版本
  2. 无法管理对包的特定版本的依赖

vendor路径

vendor目录被添加到除了GOPATH和GOROOT之外的依赖目录查找的解决方案

查找依赖包路径的解决方案如下:

  1. 当前包下的vendor目录
  2. 向上级目录查找,知道找到src目录下的vendor目录
  3. 在GOPATH下面查找依赖包
  4. 在GOROOT目录下查找

常用的依赖管理工具

  • godep
  • glide
  • dep

dep

  1. install
curl https://raw.githubusercontent.com/golang/dep/master/install.sh | sh

test

go clean -n github.com/easierway/concurrent_map
dep init

相关文章

  • Go语言学习笔记-包和依赖管理

    package包 基本复用模块单元以首字母大写来表明可被包外代码访问 代码的package可以和所在的目录不一致 ...

  • Go语言 依赖管理

    Go语言 依赖管理 go依赖管理的三个阶段 GOPATH GOVENDOR go mod GOPATH默认在~/g...

  • Go包和依赖管理

    构建可复用的模块(包) package: 基本复用模块单元以首字母大写来表明可被包外代码访问 代码的 packag...

  • Go语言的依赖管理

    Go语言的依赖管理随着版本的更迭正逐渐完善起来。 依赖管理 为什么需要依赖管理 最早的时候,Go所依赖的所有的第三...

  • GO语言基础

    基础语法 Package包的用法 package是最基本的分发单位和工程管理中依赖关系的体现; 每个GO语言源代码...

  • Go 包管理工具 govendor 使用指南

    专栏地址:技术文章专栏 govendor 是 go 语言依赖管理工具。 安装及初始化 安装: 初始化: 下载依赖包...

  • 笨办法学golang(三)

    这是Go语言学习笔记第三篇。 Go语言学习笔记参考书籍「Go语言圣经」以及Go官方标准库 Go语言基本类型主要有布...

  • go-包引用

    最近在学习Go编程,本文简单的叙述如何在Go编程中使用包(包管理)。 和其他大多数语言一样,Go也存在包,并使用p...

  • Go 语言极速入门

    本系列文章主要是记录《Go 语言实战》和《Google 资深工程师深度讲解 Go 语言》的学习笔记。 Go 语言极...

  • 笨办法学golang(二)

    这是Go语言学习笔记的第二篇文章。 Go语言学习笔记参考书籍「Go语言编程」、Go官方标准库 前文提要 上篇文章中...

网友评论

      本文标题:Go语言学习笔记-包和依赖管理

      本文链接:https://www.haomeiwen.com/subject/rlhcgqtx.html