CLI 命令行实用程序开发基础
selpg函数的功能
selpg 有5个参数
-s 读入文件的开始页号
-e 读入文件的结束页号
-l 每一页有多少行(\f页结束符打不出来,只能这样了)
-input_file 读入文件名或路径
-output_file 输出文件名或路径,不输入则为屏幕
例如:
selpg函数全名select page,选取读入文件的第s页到第e页,写入output_file中。
设计说明
我自己建立了一个package包,包里面有SelectPage函数,和TestSelectPage测试函数。
然后在项目selpg中,调用此函数。
import "SelectPage"
代码详见:gitee代码仓库
然后打包函数库,并装在main函数,如下图:
使用selpg
- selpg -s10 -e20 -l5 D:\gowork\src\selpg\indata.txt
此指令将文件D:\gowork\src\selpg\indata.txt的第10页到第20页读取(页长为5行),由于没有指定输出文件,会输出在屏幕上。
以我的 D:\gowork\src\selpg\indata.txt 为例,结果如图:(有点长)
- selpg -s10 -e20 D:\gowork\src\selpg\indata.txt
同上,由于没有指定页长,默认为1,应该输出第10到20页,如图:
- selpg -s10 -e20 D:\gowork\src\selpg\indata.txt D:\gowork\src\selpg\outdata.txt
指定了输出文件,运行后打开输出文件:
测试结果
编写测试文件SelectPage.go,里面有一个函数TestSelectPage。通过拟造数据,测试结果。
(test的测试数据在test文件同目录下)
具体代码见:gitee代码仓库 里面的SelectPage 文件夹,里面有一些数据和自定义函数库。
运行
go test SelectPage
进行测试。
测试结果:
如果我们故意犯错,在输出文件中更改一些字符,则结果如下:
(后面很长,略过)
代码传送门
之前可能已经点开过了,这里再附一边:
代码传送门:gitee代码仓库