ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

Golang CLI程序构建学习

2020-10-08 23:31:58  阅读:271  来源: 互联网

标签:pflag CLI E5% Golang flag 构建 io bufio


作业要求,以及学习参考资料

https://pmlpml.gitee.io/service-computing/post/ex-cli-basic/

 

本次作业是模仿一个比较简单的CLI程序(基于C语言),用golang重写一遍

在此之前,需要了解一些基础知识

 

CLI程序:可以在终端中直接直接调用的程序

flag的作用:在CLI程序中,会有许多可选择的参数,例如 “selpg  -s 100 -e 200”等,利用flag,可以直接获取s,和e参数的值

对于flag的学习,参考http://blog.studygolang.com/2013/02/%E6%A0%87%E5%87%86%E5%BA%93-%E5%91%BD%E4%BB%A4%E8%A1%8C%E5%8F%82%E6%95%B0%E8%A7%A3%E6%9E%90flag/

必选参数:例如 “gcc code.c” 必须要输入的文件等等

 

为啥要用Pflag,而不是用flag呢?(当然,我也没有很搞懂,但是它们的使用方法是类似的)

pflag 包与 flag 包的工作原理甚至是代码实现都是类似的,下面是 pflag 相对 flag 的一些优势:

  • 支持更加精细的参数类型:例如,flag 只支持 uint 和 uint64,而 pflag 额外支持 uint8、uint16、int32 等类型。
  • 支持更多参数类型:ip、ip mask、ip net、count、以及所有类型的 slice 类型。
  • 兼容标准 flag 库的 Flag 和 FlagSet:pflag 更像是对 flag 的扩展。
  • 原生支持更丰富的功能:支持 shorthand、deprecated、hidden 等高级功能。

 

除此之外,还需要了解 io 与 bufio的关系,用于文件的读写

go的io库里,读写文件的方法很难用,因此需要把io封装在bufio中。使用bufio的方法,可以更加方便

对于io和bufio的学习,参考https://blog.csdn.net/houyanhua1/article/details/88760853

 

标签:pflag,CLI,E5%,Golang,flag,构建,io,bufio
来源: https://www.cnblogs.com/woodx/p/13783278.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有