为了账号安全,请及时绑定邮箱和手机立即绑定

如何使用 Golang 中的标志包指定位置参数?

如何使用 Golang 中的标志包指定位置参数?

Go
茅侃侃 2021-08-10 10:45:18
有时我想在命令行上传递一个没有名称的参数,比如像这样的命令wc,它需要一个文件名作为输入:wc filename.txt使用flag package,看起来每个标志都必须有一个名称,如果未指定则使用默认值。filename := flag.String("filename", "foo.txt", "Which file to count the words for")但是,我不想要默认值,如果未指定参数,我希望程序以错误代码退出。我如何向 Go 二进制文件添加必需的参数?我还希望能够解析带有类型信息的参数,因此仅直接检查 Args() 并不能完全做到。
查看完整描述

2 回答

?
白衣染霜花

TA贡献1796条经验 获得超10个赞

您还可以使用 flag.Narg() 函数来确保您拥有所需数量的位置参数,尽管我不知道它通过 len(flag.Args()) 为您提供了什么

if flag.NArg() < minArgs { 
    // do something
    ...}


查看完整回答
反对 回复 2021-08-10
  • 2 回答
  • 0 关注
  • 245 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信