设为首页 加入收藏

TOP

pflag如何使用(二)
2019-03-15 10:07:56 】 浏览:547
Tags:pflag 如何 使用
nbsp;              可以把struct导入了。

 

 

4 默认值

我们有两种默认值,一种是不使用这个标志位的时候默认值,另外一种是声明使用这个标志位,但是不赋值,这种对应的是NoOptDefVal。

Parsed Arguments

Parsed Arguments
Resulting Value

--flagname=1357 ip=1357
--flagname ip=4321
[nothing] ip=1234

 

5 放弃标志位

flags.MarkDeprecated("badflag", "please use --good-flag instead")

还告诉了用户,新的标志位是啥

 

6 放弃短标志位

flags.MarkShorthandDeprecated("noshorthandflag", "please use --noshorthandflag only")

只放弃短的,长标志位依然可以使用

 

7 隐藏一个标志位

flags.MarkHidden("secretFlag")

所以,没有文档字符串了

 

8 多标志位

 --old-flag-name == --new-flag-name

 1 func aliasNormalizeFunc(f *pflag.FlagSet, name string) pflag.NormalizedName {
 2 
 3 switch name {
 4 case "old-flag-name":
 5 name = "new-flag-name"
 6 break
 7 }
 8 return pflag.NormalizedName(name)
 9 }
10 
11 myFlagSet.SetNormalizeFunc(aliasNormalizeFunc)

 

9 替换原生的flag

完美兼容原生的,只需要改动一点点,你就可以用这个库了

 1 import (
 2         goflag "flag"
 3         flag "github.com/spf13/pflag"
 4 )
 5 
 6 var ip *int = flag.Int("flagname", 1234, "help message for flagname")
 7 
 8 func main() {
 9         flag.CommandLine.AddGoFlagSet(goflag.CommandLine)
10         flag.Parse()
11 }

核心是import这部分

首页 上一页 1 2 下一页 尾页 2/2/2
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇Go语言学习笔记(1)——Hello Worl.. 下一篇golang中GOPATH的简单理解

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目