1. 常用环境变量
1.1 GOROOT
$GOROOT 是安装 Go 程序包的本地目录。
|
|
1.2 GOPATH
$GOPATH 是 Go 的工程目录,用来存放代码、第三方库、编译中间文件等。
如果需要配置多个目录,在 Mac 和 Linux 下可以通过 :
分割,在 Windows 下可以使用 ;
分割表示。
需要注意的是,go get
获取的包,默认存放在第一个目录下。
$GOPATH 目录下,约定有三个子目录:
- src:存放源代码
- pkg:存放编译时,生成的中间文件
- bin:存放编译后生成的可执行文件,通常会将
;%GOPATH%\bin
加入环境变量 PATH 中,以方便执行编译后的程序。
在项目开发中,有两部分代码需要管理:
- 第三方库
- 业务的项目源码
有三种 GOPATH 管理方式:
- 多个项目,全局只有一个 GOPATH。简单,但是项目隔离不够。
- 第三方库和业务源码分开放置,配置两个 GOPATH
- 每个项目使用单独的 GOPATH,编写脚本进行编译。
通常,为了简单,会让多个项目公用一个 GOPATH。
|
|
/c/data/go/
就是我配置的 GOPATH 目录。
在 src 目录中,既有 github\gitlab 等第三方库,也有业务相关的项目代码。
1.3 GOBIN
GOBIN 是编译之后,可执行文件的安装目录。如果设置了 GOBIN,编译后的可执行文件将不会安装到 GOPATH 下的 bin 目录。如果 GOPATH 包含了多个目录,则必须设置 GOBIN。
2. 依赖管理
在 GOPATH 路径下,不仅存放着项目代码,还有大量第三方依赖库。当项目和依赖很多时,GOPATH 路径下的代码量会非常大,难以管理。
2.1 vendor
从 1.5 开始,Go 加入了 vendor 机制。vendor 机制就是在项目中加入一个 vendor 文件夹,用于存放依赖,隔离项目。
在使用 go run
或 go build
时,首先会在当前路径下的 vendor 文件夹查找依赖,当没有找到时,再从 GOPATH 中查询。但使用 go get
或 go install
命令时,Go 依然会将依赖安装到 GOPATH 中。
2.2 dep
安装命令:
|
|
基本命令:
|
|
在帮助文档中,已经很清楚地描述了 dep 的使用方法。除此,还有 godep、go modules 可以用来管理依赖包。
3. 基本操作命令
- go env
查看 go 的所有配置信息。
|
|
- go get
下载或更新指定的依赖包,并对其进行编译和安装。
|
|
- go build
编译源码文件以及依赖包。
- go install
编译并安装指定的依赖包。
- go clean
删除其它命令产生的文件和目录。
- go run
编译并运行源码文件。
4. Hello World
下载安装
|
|
创建文件 hello.go
|
|
编译运行
|
|
打开浏览器并访问 http://localhost:8080