要构建Go语言的编译环境,首先得安装Go语言的编译工具
官方路径:https://golang.google.cn/dl/,一般是访问不了,使用国内网站:https://studygolang.com/dl 然后需要设置环境变量 在windows下需要将go编译器的安装路径加到Path,还要设置GOROOT和GOPATH变量,分别对应GO安装目录和项目下的src目录。
GO包管理一般有两种方式:GOPATH方式和GO Module方式 GOPATH方式是GO原生支持的方式,一般要求项目下包含三个目录: bin:放置可执行文件 pkg:放置编译生成的lib包 src:放置源码,go编译查找源文件目录 例如项目结构如下:
一般源文件的包名就是所在的文件夹名,如果在main函数中要调用algorithms中的qsort中的函数,只需要import文件即可,路径为GOPATH/src下的路径:
如果需要导入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文件示例:
在项目中引用库,本地库必须带上项目路径:
go mod常用命令:
命令
|
说明
|
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(解释为什么需要依赖)
|
|
请发表评论