go で urfave/cli を使用して `BoolFlags` を 1 つにマージします
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) } }
この問題は、パッケージの例で具体的に解決されています。 cli を作成するときに
UseShortOptionHandling: true を追加します。
ブール値を使用するか、単一のコマンドに対してコマンド構成に追加することで実行できます。
以上がgo で urfave/cli を使用して `BoolFlags` を 1 つにマージしますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック









Go Crawler Collyのキュースレッドの問題は、Go言語でColly Crawler Libraryを使用する問題を調査します。 �...

Go言語での文字列印刷の違い:printlnとstring()関数を使用する効果の違いはGOにあります...

大企業または有名なオープンソースプロジェクトによって開発されたGOのどのライブラリが開発されていますか? GOでプログラミングするとき、開発者はしばしばいくつかの一般的なニーズに遭遇します...

redisstreamを使用してGo言語でメッセージキューを実装する問題は、GO言語とRedisを使用することです...

Golandのカスタム構造ラベルが表示されない場合はどうすればよいですか?ゴーランドを使用するためにGolandを使用する場合、多くの開発者はカスタム構造タグに遭遇します...

GO言語で構造を定義する2つの方法:VARとタイプのキーワードの違い。構造を定義するとき、GO言語はしばしば2つの異なる執筆方法を見ます:最初...

ポインター構文とviperライブラリの使用における問題への取り組みGO言語でプログラミングするとき、特にポインターの構文と使用を理解することが重要です...
