- Analizador de argumentos de línea de comandos que sigue el estándar GNU, como
./test -vo out.png --size 256 input.txt
- Proporciona mensajes de ayuda integrados con
-h y --help
- Mapea argumentos a campos de structs mediante configuración por etiquetas
- Soporta campos de tipos compuestos como arreglos, slices y structs
- Soporta subcomandos anidados
Reglas de argumentos de línea de comandos de GNU
- Los elementos que comienzan con guion (
-) son opciones
- Se pueden combinar varias opciones (
-abc es igual a -a -b -c)
- Las opciones largas comienzan con dos guiones (
--abc)
- Los nombres de las opciones solo pueden ser alfanuméricos
- Los valores de las opciones pueden establecerse con espacio, signo igual (
=) o como valor contiguo (-a1, -a=1, -a 1 son equivalentes)
- No hay problema si se mezclan opciones y valores no opcionales
- Las opciones pueden aparecer en cualquier orden.
-- indica el fin de las opciones y todos los argumentos posteriores se tratan como no opcionales
- Un solo
- normalmente significa entrada o salida estándar
- Si la misma opción se especifica varias veces, se aplica el último valor
- Una opción puede tener múltiples valores (
-a 1 2 3 se procesa como [1,2,3])
Funcionalidades adicionales
- Conteo de opciones:
-vvv establece v = 3
- Acumulación de opciones:
-v 1 -v 2 establece v = []int{1, 2}
- Opciones booleanas:
--var activa y --no-var desactiva
- Las opciones pueden ser tipos compuestos como structs, slices y maps
- Las opciones pueden obtener valores de lista/diccionario desde una fuente (por ejemplo, SQL)
1 comentarios
Había usado
cobra, pero en comparaciónargpofrece varias opciones para las flags jaja