Go语言学习(四):工程管理

为什么需要工程管理

在实际的开发工作中不会简单到只有一个源代码文件,且源代码文件之间会有相互依赖关系,如果一个文件一个文件的编译,效率太过于低下。

Go命令行工具

Go命令行工具完全用目录结构和包名来推导工程结构和构建顺序。
举例:

<calcproj>
|——<src>
    |——<calc>
        |——calc.go
    |——<simplemath>
        |——add.go
        |——add_test.go
        |——sqrt.go
        |——sqrt_test.go
|——<bin>
|——<pkg>#包将被安装到此处

这是一个“基于命令行的计算器程序”的工程结构。
<>表示这是一个目录,***_test.go文件是对一个***.go的单元测试,这是Go工程里面要求的命名规则。
calc目录下的文件是可执行程序,用于跟交互让用户输入计算的类型和参数;
simplemath这个目录下的文件是具体的计算类型实现文件,比如算加法就调用add.go。

构建工程,编译

为了构建这个工程,需要先把这个工程的根目录放到环境变量GOPATH中
eg:export GOPATCH=~/gojiaoben/calcproj
GOPATH和PATH环境变量一样,可以写多个路径,用冒号隔开不同的路径;
设置完GOPATH后,就可以构建工程:
比如,把可执行程序放到bin目录下:

cd ~/gojiaoben/calcproj
mkdir bin
cd bin
go build calc

这样在bin目录下就会看到一个calc.exe的文件。执行该文件可以正常的进行计算。
在simplemath目录下的文件代码中需要指定包为simplemath

package simplemath

在calc.go文件中需要引入包号:

package main
import "simplemath"

在我们执行编译命令时,Go命令行工具会自动分析目标代码的编译结果应该是个包还是可执行文件,并分析import语句以了解包的依赖关系,从而在编辑calc.go之前把依赖的simplemath编译打包好。

运行单元测试

add_test.go和sqrt_test.go是单元测试代码。可以使用“go test”命令运行代码进行单元测试。
运行结果会列出测试内容、测试结果、测试时间。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值