Goland
Goland是Jetbrains开发的Go开发IDE,但是没有社区免费版
https://www.jetbrains.com/go/
Go
如下连接进行下载
https://www.jetbrains.com/go/
环境变量
使用如下命令查看
go env
GOROOT
Go的路径,执行go命令时,会使用 $GOROOT/bin/go.exe
进行命令解析
GOPATH
该目录下应有三个子目录 $GOPAHT/src;$GOPATH/pkg;$GOPATH/bin
src
Go要求所有项目都放在 $GOPATH/src
目录下。使用命令 go env -w GOPAHT=xxx
进行修改。
使用第三方依赖时,可使用 go get xxx
下载并安装内。如果第三方路径为 github.com/gin-gonic/gin
, 那么第三方依赖的代码将下载到 $GOPAHT/src/github.com/gin-gonic/gin
目录下,并且在 $GOPATH/pkg
目录下完成安装。
pkg
Go要求项目生成的库文件放入该目录供其他包使用
bin
Go要求项目生成的可执行的二进制文件存储在该目录下
go build
go build [options] [input_fils]
可以将若干文件进行编译得到二进制可执行文件,并存储在当前工作目录下
go install
go install [package]
可以将 $GOPATH/src
下的某个包进行编译得到二进制可执行文件放入bin目录、得到库文件放入pkg目录。
如果不带package的名称,则会把当前工作目录内的所有go文件进行编译。
go install要求有main包,且main包下有main方法,才会生成可执行文件。
go install会产生.a中间文件存储到 $GOPATH/pkg
,下次编译可根.a文件进行加速。
go get会执行go install
Defects
- 第三方包和项目文件都在src目录下,混乱难管理
- 没有版本控制,包间可能不兼容
- 没有自动下载脚本,所有第三方包都得一个一个下载
- 所有项目的依赖包版本需要一样
Go Vendor
将第三方依赖放入当前项目的vendor目录下
Go modules
允许把项目创建到任意目录下,使用go.mod进行管理。