首页 > 后端开发 > Golang > 如何在GoLang中为子命令创建独立的FlagSet?

如何在GoLang中为子命令创建独立的FlagSet?

Linda Hamilton
发布: 2024-12-09 20:38:10
原创
773 人浏览过

How to Create Independent FlagSets in GoLang for Subcommands?

GoLang 中的独立 FlagSet

简介:

Go 中的 FlagSet 提供了一种定义机制并解析命令行标志。虽然文档建议能够创建独立的集来在用户界面中实现子命令,但目前仍不清楚如何在实践中实现此功能。

问题:

如何我们可以在GoLang中定义独立的FlagSet来支持命令行中的子命令吗接口?

答案:

区分子命令

要实现独立的FlagSet,关键区别在于子命令的识别在解析标志之前。方法如下:

1.创建 FlagSet:

定义多个 FlagSet,每个子命令一个。

f1 := flag.NewFlagSet("f1", flag.ContinueOnError)
reset := f2.Bool("reset", false, "")
登录后复制

2.区分子命令:

检查命令行参数以识别活动子命令。例如,如果命令的前缀是“apply”,则执行FlagSet“f1”。

switch os.Args[1] {
  case "apply":
    f1.Parse(os.Args[2:])
  case "reset":
    f2.Parse(os.Args[2:])
}
登录后复制

通过基于子命令分离不同FlagSet的解析,我们可以维护仅适用的独立标志集到各自的子命令。

以上是如何在GoLang中为子命令创建独立的FlagSet?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板