ホームページ >バックエンド開発 >Golang >Go でサブコマンド用に独立した FlagSet を定義および解析するにはどうすればよいですか?

Go でサブコマンド用に独立した FlagSet を定義および解析するにはどうすればよいですか?

Linda Hamilton
Linda Hamiltonオリジナル
2024-12-28 10:59:31430ブラウズ

How to Define and Parse Independent FlagSets in Go for Subcommands?

GoLang での独立した FlagSet の定義

FlagSet は、個別のフラグ セットの定義を容易にし、コマンドライン インターフェイスでのサブコマンドの実装をサポートします。

Goでは、複数のFlagSet型を作成し、フラグ変数を初期化できます。ただし、これらのフラグ セットを解析するときに、コマンド ラインに別のセット向けのフラグが含まれている場合はエラーが発生します。

f1 := flag.NewFlagSet("f1", flag.ContinueOnError)
apply := f1.Bool("apply", false, "")
silent := f1.Bool("silent", false, "")

f2 := flag.NewFlagSet("f2", flag.ContinueOnError)
reset := f2.Bool("reset", false, "")

これらの FlagSet を分離するには、サブコマンドを区別してから、適切なセットに対して Parse を呼び出します。

switch os.Args[1] {
  case "apply":
    f1.Parse(os.Args[2:])
    fmt.Println("apply", *silent)
  case "reset":
    f2.Parse(os.Args[2:])
    fmt.Println("reset", *loud)
}

このアプローチに従うことで、GoLang で独立した FlagSet を定義して解析でき、フラグが確実に対象のサブコマンドにのみ適用されます。

以上がGo でサブコマンド用に独立した FlagSet を定義および解析するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。