./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] として処理される)
追加機能
- オプションカウント:
-vvv は v = 3 に設定される
- オプション追加:
-v 1 -v 2 は v = []int{1, 2} に設定される
- ブールオプション:
--var は有効化し、--no-var は無効化する
- オプションは構造体、スライス、マップのような複合型にできる
- オプションはソース(例: SQL)からリスト/辞書の値を取得できる
1件のコメント
cobraを使っていましたが、それに比べてargpはフラグに対していろいろなオプションを指定できますね(笑)