版权声明:本文为 newtrekWang 原创文章,可以随意转载,但必须在明确位置注明出处!!!

仿nginx命令行

go语言些命令行程序是不错的选择,所以它可以轻松达到如上图类似nginx命令行的效果

例子

先执行go build或go install 编译代码
执行FlagPrac -h 命令就可以输出帮助信息了
执行FlagPrac -s wang

执行FlagPrac -s wang

Flag 概述

参考:标准库—命令行参数解析FLAG

两种定义Flag方式

  • Flag.Xxx()

其中Xxx可以是Int,String等;返回一个相应类型的指针,如:

  • Flag.XxxVar()

将flag绑定到一个变量上,如:

另外还可以创建自定义flag,只要实现flag.Value接口即可

Flag解析

在所有的flag定义完成之后,可以通过调用flag.Prarse()进行解析,命令行flag的语法有如下三种方式:

  • flag //只支持bool类型
  • flag=x
  • flag x //只支持非bool类型

int类型可以是十进制、十六进制、八进制甚至是负数;bool类型可以是1, 0, t, f, true, false, TRUE, FALSE, True, False。Duration可以接受任何time.ParseDuration能解析的类型

类型和函数

ErrHelp:该错误类型用于当命令行指定了-help参数但没有定义时。
Usage:这是一个函数,用于输出所有定义了的命令行参数和帮助信息(usage message)。一般,当命令行参数解析出错时,该函数会被调用。我们可以指定自己的Usage函数,即:flag.Usage = func(){}

Hits: 50

分类: golang

发表评论

电子邮件地址不会被公开。 必填项已用*标注