GOPATH

Gotool的大部分功能其实已经不再针对当前目录,而是针对包名,于是如何才能定位到对应的源代码就落到了GOPATH身上。
假 设 现 在 本 地 硬 盘 上 有 3 个 Go 代 码 工 程 , 分 别 为 ~/work/go-proj1 、 ~/work2/goproj2 和~/work3/work4/go-proj3,那么GOPATH可以设置为如下内容:

  1. export GOPATH=~/work/go-proj1:~/work2/goproj2:~/work3/work4/go-proj3

经过这样的设置后,你可以在任意位置对以上的3个工程进行构建。

目录结构

Go语言工程不需要任何工程文件,一个比较完整的工程会在根目录处放置这样几个文本文件。

  • README:简单介绍本项目目标和关键的注意事项,通常第一次使用时应该先阅读本文档。

  • LICENSE:本工程采用的分发协议,所有开源项目通常都有这个文件。


说明文档并不是工程必需的,但如果有的话可以让使用者更快上手。另外,虽然是文本文件,但现在其实也是可以表达富格的。

一个标准的Go语言工程包含以下几个目录: src、 pkg和bin。
目录src用于包含所有的源代码,是Gotool一个强制的规则而pkg和bin则无需手动创建,如果必要Gotool在构建过程中会自动创建这些目录。构建过程中Gotool对包结构的理解完全依赖于src下面的目录结构。


Go 工程组织 - 图1