- Ein Kommandozeilen-Argumentparser, der dem GNU-Standard folgt, wie bei
./test -vo out.png --size 256 input.txt
- Bietet integrierte Hilfemeldungen mit
-h und --help
- Ordnet Argumente per Tag-Konfiguration Struct-Feldern zu
- Unterstützt komplexe Feldtypen wie Arrays, Slices und Structs
- Unterstützt verschachtelte Unterbefehle
GNU-Regeln für Kommandozeilenargumente
- Einträge, die mit einem Bindestrich (
-) beginnen, sind Optionen
- Mehrere Optionen können kombiniert werden (
-abc ist gleichbedeutend mit -a -b -c)
- Lange Optionen beginnen mit zwei Bindestrichen (
--) (--abc)
- Optionsnamen dürfen nur alphanumerische Zeichen enthalten
- Optionswerte können per Leerzeichen, Gleichheitszeichen (
=) oder direkt angehängt gesetzt werden (-a1, -a=1, -a 1 sind alle gleich)
- Optionen und Nicht-Optionswerte können gemischt werden
- Optionen können in beliebiger Reihenfolge erscheinen.
-- kennzeichnet das Ende der Optionen; alle nachfolgenden Argumente werden als Nicht-Optionen behandelt
- Ein einzelnes
- bedeutet normalerweise Standardeingabe oder -ausgabe
- Wenn dieselbe Option mehrfach angegeben wird, gilt der letzte Wert
- Eine Option kann mehrere Werte haben (
-a 1 2 3 wird als [1,2,3] verarbeitet)
Zusätzliche Funktionen
- Optionszählung:
-vvv setzt v = 3
- Optionsanhäufung:
-v 1 -v 2 setzt v = []int{1, 2}
- Boolesche Optionen:
--var aktiviert und --no-var deaktiviert
- Optionen können komplexe Typen wie Structs, Slices und Maps sein
- Optionen können Listen-/Wörterbuchwerte aus einer Quelle (z. B. SQL) beziehen
1 Kommentare
Ich habe bisher
cobraverwendet, aber im Vergleich dazu bietetargpallerlei Optionen für Flags, haha.