首页 > 其他分享 >go 语言flag 库使用

go 语言flag 库使用

时间:2024-02-26 09:59:30浏览次数:25  
标签:选项 语言 Parse flag 命令行 go intflag

flag 用于解析命令行选项,有过类 Unix 系统使用经验的童鞋对命令行选项应该不陌生,例如命令 ls -al 列出当前目录下所有文件和目录的详细信息,其中 -al 就是命令行选项。

命令行选项在实际开发中很常用,特别是在写工具的时候。
自定义某些参数,如 python -m SimpleHTTPServer 8080 启动一个 HTTP 服务器,监听 8080 端口。如果不指定,则默认监听 8000 端口
1,用法介绍
a. 先定义好需要通过命令行传入的参数 关键字 例如
var intfalg int
flag.IntVar(&intflag, "intflag", 0, "int flag value")
给他赋默认值
b. 在启动的时候,传入该关健字的值 例如
go run 001.go -intflag 12

c.程序中取出该值
flag.Parse()
fmt.Println("int flag:", intflag) //12
总结:
定义一些全局变量存储选项的值,如这里的 intflag/boolflag/stringflag;
在 init 方法中使用 flag.TypeVar 方法定义选项,这里的 Type 可以为基本类型 Int/Uint/Float64/Bool,
还可以是时间间隔 time.Duration。定义时传入变量的地址、选项名、默认值和帮助信息;
在 main 方法中调用 flag.Parse 从 os.Args[1:] 中解析选项。因为 os.Args[0] 为可执行程序路径,会被剔除。

注意点:
flag.Parse 方法必须在所有选项都定义之后调用,且 flag.Parse 调用之后不能再定义选项。

标签:选项,语言,Parse,flag,命令行,go,intflag
From: https://www.cnblogs.com/wangxiaoya/p/18030058

相关文章

  • 机器学习策略篇:详解正交化(Orthogonalization)
    正交化这是一张老式电视图片,有很多旋钮可以用来调整图像的各种性质,所以对于这些旧式电视,可能有一个旋钮用来调图像垂直方向的高度,另外有一个旋钮用来调图像宽度,也许还有一个旋钮用来调梯形角度,还有一个旋钮用来调整图像左右偏移,还有一个旋钮用来调图像旋转角度之类的。电视设计......
  • go 同一个https端口实现多种认证方式
    参考kube-apiserver,访问https端口时,-k允许跳过默认的证书认证,从而实现多种认证方式。packagemainimport( "crypto/tls" "fmt" "net/http" klog"k8s.io/klog/v2")funchealthCheck(whttp.ResponseWriter,r*http.Request){ fmt.Fprintf(w,&qu......
  • golang文件和目录操作
    读取文件通过Read方法读取import( "fmt" "os")funcmain(){ /* 打开文件 */ //以只读的方式打开文件,返回一个文件指针类型的对象和error file,err:=os.Open("./test.txt") //文件打开操作完之后必须关闭文件流,可以使用defer延迟关闭 deferfile.Close()......
  • Go 100 mistakes - #71: Misusing sync.WaitGroup
       ......
  • goland的git集成不能更新项目
    goland不能拉取,报错;remote:HTTPBasic:Accessdenied.Theprovidedpasswordortokenisincorrectoryouraccounthas2FAenabledandyoumustuseapersonalaccesstokeninsteadofapassword.Seehttp://127.0.0.1:8083/help/topics/git/troubleshooting_git#......
  • Go - #70: Using mutexes inaccurately with slices and maps
      ......
  • Go 100 mistakes - #69: Creating data races with append
        ......
  • golang反射
    反射有时我们需要写一个函数,这个函数有能力统一处理各种值类型,而这些类型可能无法共享同一个接口,也可能布局未知,也有可能这个类型在我们设计函数时还不存在,这个时候我们就可以用到反射反射是指在程序运行期间对程序本身进行访问和修改的能力。正常情况程序在编译时,变量被转换......
  • 程序语言的真面目
    在汇编语言中,用来表示各个本机代码功能的英文缩写叫助记词。将汇编语言源代码转换成本机语言的过程叫汇编。将本机代码反过来转换成汇编语言的过程叫反汇编。汇编语言源文件的扩展名叫.asm和.s等。汇编语言的跳转指令是程序流程跳转到任意地址。在高级汇编语言的源代码中,指令和数......
  • 掌握C语言指针,轻松解锁代码高效性与灵活性
    ✨✨欢迎大家来到贝蒂大讲堂✨✨......