Go 项目结构层次

今天测试了一下go 使用包名和目录结构来识别 工程结构和构建顺序, 发现很好用,可以免去C/C++ 中写Makefile的步骤。


1. 首先,加入现在我们在工程目录位于 /home/work/dev/etl/worker/test/go/projectCal 下面

    则最好是将GOPATH 包含此路径。

2. go的工程一般包含三个目录

     

---- bin   // 存放编译后可以执行的文件的目录
---- src   // 存放源文件的地方,里面可以再建子目录
---- pkg   // 存放编译后的包文件的,此目录可以不预先创建,使用go install 命令时自动会创建

如我的测试工程可能是这样的:

----bin
----src
     ---- config
           ----getconfig.go
           ----setconfig.go
     ---- server
           ----server.go  //假设其中包含main函数
----pkg


当你在bin 目录下执行go install config 时会在pkg 目录下自动生成$GOOS_$GOARCH/config.a 

当你在bin 目录下执行go build server 时会在bin 目录下 自动生成server 二进制文件


3. 单元测试, go 支持自动化单元测试,注意用于单元测试的代码和被测试的代码文件需要在同一个包,并且应该用xxx_test.go 命名,

如getconfig.go 的测试文件最好注册为test_getconfig.go文件


你可能感兴趣的:(Go,go,golang,结构)