Go build

Go build #

-tag #

// +build dev 前后须有一个空行隔开

  • release_config.go 文件
  • go build -tags dev -o dev_version
// +build dev

package main

var version = "DEV"
  • dev_config.go 文件
  • go build -tags dev -o dev_version
// +build release

package main

const version = "RELEASE"

Go 热编译工具 #

caixw/gobuild

Github stars #

gobuild 是一个简单的 Go 代码热编译工具。 会实时监控指定目录下的文件变化 (重命名,删除,创建,添加),并编译和运行程序。

gobuild [options] [dependents]

options:
 -h    显示当前帮助信息;
 -v    显示 gobuild 和 Go 程序的版本信息;
 -r    是否搜索子目录,默认为 true;
 -i    是否显示被标记为 IGNORE 的日志内容,默认为 false,即不显示;
 -o    执行编译后的可执行文件名;
 -x    传递给编译程序的参数;
 -ext  需要监视的扩展名,默认值为"go",区分大小写,会去掉每个扩展名的首尾空格。
       若需要监视所有类型文件,请使用 *,传递空值代表不监视任何文件;
 -main 指定需要编译的文件,默认为""。

dependents:
 指定其它依赖的目录,只能出现在命令的尾部。
penggy/gobuild

Github stars #

EasyDarwin 依赖

# go tools
go get -u -v github.com/kardianos/govendor
go get -u -v github.com/penggy/gobuild

# npm tools
npm i -g apidoc
npm i -g rimraf