2 ポイント 投稿者 xguru 2025-03-26 | 1件のコメント | WhatsAppで共有
  • ./test -vo out.png --size 256 input.txt のような GNU 標準に従うコマンドライン引数パーサー
  • -h および --help で組み込みのヘルプメッセージを提供
  • タグ設定で構造体フィールドに引数をマッピング
  • 配列、スライス、構造体のような複合型フィールドをサポート
  • ネストされたサブコマンドをサポート

GNU コマンドライン引数の規則

  • ハイフン(-)で始まる項目はオプション
  • 複数のオプションは結合可能(-abc-a -b -c と同じ)
  • 長いオプションは 2 つのハイフン(--)で始まる(--abc
  • オプション名は英数字のみ使用可能
  • オプション値は空白、等号(=)、または連続した値で設定可能(-a1-a=1-a 1 はすべて同じ)
  • オプションと非オプションの値が混在していても問題なし
  • オプションはどの順序でも指定可能
  • -- はオプション終了を意味し、それ以降の引数はすべて非オプションとして扱われる
  • 単独の - は通常、標準入力または標準出力を意味する
  • 同じオプションが複数回指定された場合は最後の値が適用される
  • オプションは複数の値を持てる(-a 1 2 3[1,2,3] として処理される)

追加機能

  • オプションカウント: -vvvv = 3 に設定される
  • オプション追加: -v 1 -v 2v = []int{1, 2} に設定される
  • ブールオプション: --var は有効化し、--no-var は無効化する
  • オプションは構造体、スライス、マップのような複合型にできる
  • オプションはソース(例: SQL)からリスト/辞書の値を取得できる

1件のコメント

 
haung921209 2025-03-26

cobraを使っていましたが、それに比べてargpはフラグに対していろいろなオプションを指定できますね(笑)