GoLang の独立した FlagSets
はじめに:
Go の FlagSet は定義メカニズムを提供しますコマンドラインフラグの解析。ドキュメントでは、ユーザー インターフェイスでサブコマンドを実装するための独立したセットを作成する機能が示唆されていますが、実際にこの機能をどのように実現するかは不明のままです。
質問:
方法コマンドラインのサブコマンドをサポートするために、GoLang で独立した FlagSet を定義できますか?インターフェイス?
答え:
サブコマンドの区別
独立した FlagSet を実現するには、重要な区別はサブコマンドを識別することにあります。フラグを解析する前に。方法は次のとおりです:
1. FlagSet を作成します。
サブコマンドごとに 1 つずつ、複数の 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 中国語 Web サイトの他の関連記事を参照してください。