argp - Parseur d’arguments en ligne de commande de style GNU pour Go
(github.com/tdewolff)- Parseur d’arguments en ligne de commande conforme aux standards GNU, comme
./test -vo out.png --size 256 input.txt - Message d’aide intégré disponible avec
-het--help - Association des arguments aux champs d’une structure via des tags
- Prise en charge des champs de types complexes comme les tableaux, slices et structures
- Prise en charge des sous-commandes imbriquées
Règles des arguments en ligne de commande GNU
- Les éléments commençant par un tiret (
-) sont des options - Plusieurs options peuvent être combinées (
-abcéquivaut à-a -b -c) - Les options longues commencent par deux tirets (
--) (--abc) - Les noms d’options ne peuvent contenir que des caractères alphanumériques
- Les valeurs d’option peuvent être définies par un espace, un signe égal (
=) ou de manière contiguë (-a1,-a=1,-a 1sont équivalents) - Les options et les valeurs non optionnelles peuvent être mélangées sans problème
- Les options peuvent apparaître dans n’importe quel ordre.
--indique la fin des options, et tous les arguments suivants sont traités comme non optionnels- Un seul
-signifie généralement l’entrée standard ou la sortie standard - Si la même option est spécifiée plusieurs fois, la dernière valeur est appliquée
- Une option peut avoir plusieurs valeurs (
-a 1 2 3est traité comme[1,2,3])
Fonctionnalités supplémentaires
- Comptage d’options :
-vvvdéfinitv = 3 - Ajout d’options :
-v 1 -v 2définitv = []int{1, 2} - Options booléennes :
--varactive et--no-vardésactive - Les options peuvent être des types complexes comme des structures, slices et maps
- Les options peuvent récupérer des valeurs de liste/dictionnaire depuis une source (par ex. SQL)
1 commentaires
J’utilisais
cobra, mais en comparaison,argppropose pas mal d’options pour les flags haha