使用golang开发简单的 CLI 程序 selpg

本文档介绍如何使用Golang开发一个名为selpg的CLI程序,遵循Unix命令行规范,利用pflag库处理命令行参数。程序通过检查、解析参数,读取文件并按指定页码输出内容。在测试中,程序能够生成输出文件和错误文件。

设计说明

CLI(Command Line Interface)实用程序是Linux下应用开发的基础。在开发领域,CLI在编程、调试、运维、管理中提供了图形化程序不可替代的灵活性与效率。这次的主要任务是使用golang开发Linux命令行实用程序中的selpg。

代码简介

完整代码链接:http://139.9.57.167:20080/share/bmdov4676kvrcg19tfg0?secret=false

由于老师要求使用 pflag 替代 goflag 以满足 Unix 命令行规范,所以我们需要安装和导入pflag,这一步实现可以在vsc的终端中输入如下命令:

go get -u "github.com/spf13/pflag"

然后我们需要在程序开头引入/需要的包:

import (
	"bufio"
	"fmt"
	"io"
	"os"
	"os/exec"
	"github.com/spf13/pflag"
)

接下来定义保存参数数据的结构体:

type selpgArgs struct {
	startPage  int
	endPage    int
	inFileName string
	pageLen    int
	pageType   bool
	printDest  string
}

使用 pflag 替代 goflag 以满足 Unix 命令行规范:

func getArgs(args *selpgArgs) {

	pflag.IntVarP(&(args.startPage), "startPage", "s", -1, "Define startPage")
	pflag.IntVarP(&(args.e
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值