Go 项目结构层次

本文介绍了Go项目中如何利用包名和目录结构进行工程组织,避免了类似C/C++中编写Makefile的繁琐过程。在/home/work/dev/etl/worker/test/go/projectCal目录下,确保GOPATH包含该路径。Go工程通常包括src、pkg和bin三个目录,执行`go build server`会在bin目录下生成二进制文件。此外,Go支持自动化单元测试,测试文件需与源码同包并以_测试.go命名。
摘要由CSDN通过智能技术生成

今天测试了一下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文件


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值