Introducción
El paquete Cobra es una biblioteca reconocida en Go para crear aplicaciones de línea de comandos (CLI) modernas y potentes. Se utiliza en muchos proyectos Go notables, como Kubernetes, Hugo y GitHub CLI, lo que demuestra su eficacia y popularidad 1. Este tutorial lo guiará a través de los pasos básicos para comenzar con Cobra en Go, incluida la instalación del paquete, la creación de comandos y subcomandos, la adición de indicadores a los comandos y la organización del código en una aplicación basada en Cobra.
Instalación del paquete:
Instale el paquete Cobra usando el siguiente comando:
go get -u github.com/spf13/cobra
Importe el paquete Cobra a su aplicación:
import "github.com/spf13/cobra"
Estructura de una aplicación Cobra: una aplicación típica basada en Cobra tendrá una estructura de directorio similar a esta:
appName/cmd/add.go
your.go
commands.go
here.go
main.go
En su proyecto, el directorio cmd
contendrá todos sus comandos y subcomandos, mientras que el archivo main.go
servirá como punto de entrada para su aplicación 3 .
Creación de comandos y subcomandos:
- Los comandos representan acciones, mientras que las banderas son modificadores de esas acciones. Por ejemplo, en
go run test.go --port=1123
, 'ejecutar' es un comando y 'puerto' es una bandera. - Crear un nuevo comando es sencillo con Cobra. Comience creando un nuevo archivo Go en el directorio
cmd
con el nombre de su comando (por ejemplo,add.go
). - Dentro de este archivo, defina su comando como una variable de tipo
*cobra.Command
.
var addCmd = &cobra.Command{
Use: "add",
Short: "Add a new item",
Long: `Add a new item to the list.`,
Run: func(cmd *cobra.Command, args []string) {
//Il tuo codice qui
},
}
Agregue su comando al comando raíz de la aplicación en su archivo main.go
:
func main() {
rootCmd.AddCommand(addCmd)
rootCmd.Execute()
}
Conclusión
Con Cobra, crear aplicaciones CLI sólidas y organizadas en Go es una tarea relativamente sencilla. Al seguir este tutorial, ahora debería tener una comprensión sólida de cómo comenzar con Cobra, crear comandos y subcomandos y organizar su código en una aplicación basada en Cobra. La exploración continua de la documentación de Cobra y la implementación práctica le ayudarán a ser más competente en el uso de esta potente biblioteca.