go语言包管理

要构建Go语言的编译环境,首先得安装Go语言的编译工具git

官方路径:https://golang.google.cn/dl/,通常是访问不了,使用国内网站:https://studygolang.com/dl
而后须要设置环境变量
在windows下须要将go编译器的安装路径加到Path,还要设置GOROOT和GOPATH变量,分别对应GO安装目录和项目下的src目录。github

GO包管理通常有两种方式:GOPATH方式和GO Module方式
GOPATH方式是GO原生支持的方式,通常要求项目下包含三个目录:
bin:放置可执行文件
pkg:放置编译生成的lib包
src:放置源码,go编译查找源文件目录
例如项目结构以下:golang

 通常源文件的包名就是所在的文件夹名,若是在main函数中要调用algorithms中的qsort中的函数,只须要import文件便可,路径为GOPATH/src下的路径:windows

若是须要导入github上的开源代码,直接import项目的url连接便可,而且须要go get导入到本地路径,go会自动在src目录下生成github.com目录。函数

Go Module管理方式
Go Module方式是golang1.11新增的特性,直接基于模块管理,而不是基于固定目录
要使用Go Module,须要先设置go变量GO111MODULE=on
要注意Go Module方式跟GOPATH方式不兼容,项目路径不能在GOPATH里。工具

在项目中不须要src目录,使用go mod init创建mod管理,会自动在项目下生成go.mod文件,若是须要依赖第三方代码,除了在项目中import以外,还须要使用go mod download下载包网站

go.mod文件示例:ui

 在项目中引用库,本地库必须带上项目路径:google

go mod经常使用命令:url

命令

说明

download

download modules to local cache(下载依赖包)

edit

edit go.mod from tools or scripts(编辑go.mod

graph

print module requirement graph (打印模块依赖图)

init

initialize new module in current directory(在当前目录初始化mod)

tidy

add missing and remove unused modules(拉取缺乏的模块,移除不用的模块)

vendor

make vendored copy of dependencies(将依赖复制到vendor下)

verify

verify dependencies have expected content (验证依赖是否正确)

why

explain why packages or modules are needed(解释为何须要依赖)

相关文章
相关标签/搜索