php Editor Banana は、Go 言語の urfave/cli ライブラリを使用して BoolFlags を 1 つにマージする方法を紹介します。 urfave/cli は、エレガントなコマンド ライン アプリケーションの作成に役立つ強力なコマンド ライン ライブラリです。コマンド ライン アプリケーションでは、特定のスイッチやオプションが有効かどうかを示すために使用されるさまざまな BoolFlags (ブール フラグ) を処理する必要があることがよくあります。ただし、BoolFlags が多数ある場合、コードは冗長になり、保守が困難になります。 urfave/cli を使用すると、複数の BoolFlags を 1 つに簡単にマージでき、コードがより簡潔で理解しやすくなります。次に、具体的な実装方法を見ていきましょう。
-f/--foo
または-b/--bar
のパラメータを取得できるコードがあります。パラメーターの解析は、2 番目に人気のある go パラメーター パーサーである urfave/cli パッケージを通じて行われます。 go run のようにプログラムを実行できます。 -f -b
ですが、 go run とは異なります。 -fb
go run で機能させる方法はありますか。 -fb
urfave/cli を使用しますか?
それが不可能な場合、どの go モジュールを使用すれば可能になりますか?
コード:
リーリー ###テスト###package main import ( "fmt" "log" "os" "github.com/urfave/cli/v2" ) func main() { var foo_count, bar_count bool app := &cli.app{ flags: []cli.flag{ &cli.boolflag{ name: "foo", usage: "foo", aliases: []string{"f"}, destination: &foo_count, }, &cli.boolflag{ name: "bar", usage: "bar", aliases: []string{"b"}, destination: &bar_count, }, }, action: func(cctx *cli.context) error { fmt.println("foo_count", foo_count) fmt.println("bar_count", bar_count) return nil }, } if err := app.run(os.args); err != nil { log.fatal(err) } }解決策
を追加します。
ブール値を使用するか、単一のコマンドに対してコマンド構成に追加することで実行できます。
以上がgo で urfave/cli を使用して `BoolFlags` を 1 つにマージしますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。