Golang CLI程序构建学习

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

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

 

上一篇:blazor相关资料


下一篇:Go 文件 读写