- 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
-h et --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 1 sont é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 3 est traité comme [1,2,3])
Fonctionnalités supplémentaires
- Comptage d’options :
-vvv définit v = 3
- Ajout d’options :
-v 1 -v 2 définit v = []int{1, 2}
- Options booléennes :
--var active et --no-var dé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