GoLang での独立した FlagSet の定義
GoLang の FlagSet タイプを使用すると、開発者は個別のフラグ セットを定義できます。この機能は、コマンドライン インターフェイスでサブコマンドを実装する場合に特に役立ちます。ただし、この分離を効果的に実現するにはどうすればよいでしょうか?
実際の独立した FlagSets
自律的な FlagSet を確立するには、サブコマンドを区別し、その後にサブコマンドを呼び出すことが重要です。対応する FlagSet を解析します。次の拡張例を考えてみましょう。
f1 := flag.NewFlagSet("f1", flag.ContinueOnError) silent := f1.Bool("silent", false, "") f2 := flag.NewFlagSet("f2", flag.ContinueOnError) loud := f2.Bool("loud", false, "") switch os.Args[1] { case "apply": if err := f1.Parse(os.Args[2:]); err == nil { fmt.Println("apply", *silent) } case "reset": if err := f2.Parse(os.Args[2:]); err == nil { fmt.Println("reset", *loud) } }
このコードでは、2 つの FlagSet を定義します。1 つは apply コマンド用、もう 1 つはリセット コマンド用です。 switch ステートメントはサブコマンドを識別し、指定された FlagSet で Parse を呼び出し、各コマンドのフラグを効果的に分離します。
以上がGo でサブコマンド用に独立した FlagSet を定義して使用する方法は?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。