argp - GNU-Style-Kommandozeilen-Argumentparser für Go
(github.com/tdewolff)- Ein Kommandozeilen-Argumentparser, der dem GNU-Standard folgt, wie bei
./test -vo out.png --size 256 input.txt - Bietet integrierte Hilfemeldungen mit
-hund--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 (
-abcist 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 1sind 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 3wird als[1,2,3]verarbeitet)
Zusätzliche Funktionen
- Optionszählung:
-vvvsetztv = 3 - Optionsanhäufung:
-v 1 -v 2setztv = []int{1, 2} - Boolesche Optionen:
--varaktiviert und--no-vardeaktiviert - 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.