


Comment utiliser la bibliothèque Cobra pour les applications CLI à Golang
Cobra est une bibliothèque GO populaire pour la création d'applications CLI, utilisées par Kubernetes, Hugo et Docker. 2. Installez Cobra via Go Get et initialisez un projet avec Cobra init, qui met en place la structure de base. 3. Créez des commandes et des sous-communs à l'aide de COBRA ADD, définissant leur comportement dans les fichiers GO générés. 4. Ajouter des drapeaux - locaux ou persistants - pour personnaliser le comportement de commande et y accéder dans la fonction d'exécution. 5. Intégrer la prise en charge du fichier de configuration dans les formats JSON, YAML ou TOML. 6. COBRA génère automatiquement du texte d'aide et prend en charge la génération de documentation au format de la page de marque ou de l'homme. 7. Le modèle de définition des commandes, de fixation des drapeaux et de l'utilisation de Viper permet des CLI évolutifs et maintenables.
La bibliothèque Cobra est l'une des bibliothèques GO les plus populaires pour construire des interfaces de ligne de commande puissantes (CLI). Il est utilisé par des projets majeurs comme Kubernetes, Hugo et Docker. Cobra simplifie la création d'applications CLI robustes avec la prise en charge des commandes, des sous-communs, des drapeaux et de l'aide générée automatiquement. Voici comment l'utiliser efficacement.
Installer et initialiser Cobra
Commencez par installer COBRA à l'aide de modules Go:
Allez obtenir github.com/spf13/cobraPour échafauner une application CLI de base, vous pouvez utiliser le générateur Cobra. Tout d'abord, installez l'outil COBRA CLI:
Allez installer github.com/spf13/cobra@latestPuis initialisez votre projet:
Cobra initCela crée un fichier main.go et un fichier cmd / root.go, configurant la structure fondamentale.
Créer des commandes et des sous-communs
Cobra organise les fonctionnalités autour des commandes et des sous-communs. La commande root est définie dans cmd / root.go. Pour ajouter une nouvelle sous-commande comme Serve , exécutez:
Cobra Ajouter un serviceCela génère un nouveau fichier CMD / Serve.go avec une structure de commande pré-remplie:
var Servecmd = & cobra.command {use: "servir", short: "démarrer un serveur", exécuter: func (cmd * cobra.command, args [] string) {fmt.println ("Server start ...")},}Inscrivez-le dans init () afin qu'il soit attaché à la commande root. Maintenant, vous pouvez courir:
aller courir main.go servirAjouter des drapeaux et de la configuration
Les drapeaux permettent aux utilisateurs de personnaliser le comportement de commande. COBRA prend en charge les drapeaux persistants (disponibles pour toutes les sous-communs) et les drapeaux locaux (uniquement pour une commande spécifique).
Dans votre définition de commande, ajoutez des drapeaux à l'intérieur de la fonction init () :
ServeCmd.Flags (). StringP ("Port", "P", "8080", "Port pour exécuter le serveur")Vous pouvez accéder à la valeur de l'indicateur dans la fonction d'exécution :
port, _: = cmd.flags (). getString ("port") fmt.printf ("Démarrage du serveur sur le port% s \ n", port)Pour les fichiers de configuration, Cobra fonctionne bien avec Viper , une autre bibliothèque du même auteur. Activer Viper dans votre commande racine:
rootcmd.persistentflags (). stringvar (& cfgfile, "config", "", "file file")Utilisez ensuite Viper pour lire la configuration à partir de fichiers JSON, YAML ou TOML en fonction de l'entrée utilisateur ou des défauts par défaut.
Aide et documentation générées automatiquement
Cobra génère automatiquement du texte d'aide. Courir:
aller courir main.go - helpVous verrez des commandes de liste de sortie structurées, des sous-communs et des drapeaux. Vous pouvez personnaliser les messages d'aide en utilisant les champs courts et longs dans les définitions de votre commande.
COBRA prend également en charge la génération de documentation CLI au format Markdown ou Man, utile pour publier des guides d'utilisateurs.
Fondamentalement, Cobra vous donne un moyen propre et évolutif de construire des CLI en Go. Définissez les commandes, joignez les indicateurs, intégrant éventuellement la vipère pour la configuration et laissez Cobra gérer le routage et l'aide. Ce n'est pas difficile une fois que vous comprenez le modèle.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Outils d'IA chauds

Undress AI Tool
Images de déshabillage gratuites

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Stock Market GPT
Recherche d'investissement basée sur l'IA pour des décisions plus intelligentes

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Struct {} est une structure sans champ dans GO, qui occupe des octets zéro et est souvent utilisé dans des scénarios où les données ne sont pas nécessaires. Il est utilisé comme signal dans le canal, comme la synchronisation de la goroutine; 2. Utilisé comme collection de types de valeurs de cartes pour réaliser des vérifications de l'existence clé en mémoire efficace; 3. Récepteurs de méthode sans état définissables, adaptés aux fonctions d'injection de dépendance ou d'organisation. Ce type est largement utilisé pour exprimer le débit de contrôle et effacer les intentions.

Cet article vise à résoudre les erreurs EOF (de fin de fichier) rencontrées lors du développement de WebSocket à l'aide de Go. Cette erreur se produit généralement lorsque le serveur reçoit le message client et que la connexion est fermée de manière inattendue, ce qui entraîne la livraison normalement des messages suivants. Cet article analysera les causes du problème, fournira des exemples de code et fournira des solutions correspondantes pour aider les développeurs à créer des applications WebSocket stables et fiables.

Cet article décrit comment démarrer un éditeur externe (comme VIM ou Nano) dans un programme Go et attendre que l'utilisateur ferme l'éditeur avant que le programme ne continue d'exécuter. En définissant CMD.Stdin, Cmd.Stdout et Cmd.Stderr, l'éditeur peut interagir avec le terminal pour résoudre le problème de l'échec du démarrage. Dans le même temps, un exemple de code complet est affiché et des précautions sont fournies pour aider les développeurs à implémenter cette fonction en douceur.

GoprovidessIMPLEAFEFFIENTSFILEHandlingusingheosandbufiopackages.toreAdasmallFileEentirely, useos.readfile, wholoadStheContenTiToMeMorySafelyandAutomAtical ManagesFileOperations.ForlARGEFILSORINCREM

Middlewareingowebserversafunction aterttercepthttprequestsboreetheyreachthehandler, permettre à la transformation de la transmission de la transmission; ils enworkbywrapinghandlerstoaddpre-andpost-processingLogicsuchy

Utilisez le package Encoding / JSON de la bibliothèque standard pour lire le fichier de configuration JSON; 2. Utilisez la bibliothèque gopkg.in/yaml.v3 pour lire la configuration du format YAML; 3. Utilisez la bibliothèque OS.getenv ou Godotenv pour écraser la configuration du fichier; 4. Utilisez la bibliothèque Viper pour prendre en charge des fonctions avancées telles que la configuration multi-format, les variables d'environnement, le rechargement automatique; Il est nécessaire de définir la structure pour garantir la sécurité de type, gérer correctement les erreurs de fichiers et d'analyse, utiliser correctement les champs de mappage de balises de structure, éviter les chemins à code dur et recommander d'utiliser des variables d'environnement ou un stockage de configuration sûre dans l'environnement de production. Il peut commencer par JSON simple et migrer vers Viper lorsque les exigences sont complexes.

Cet article vise à aider les développeurs à comprendre et à résoudre les exceptions de pointes nulles causées par la fonction XorkeyStream qui peut être rencontrée lors de l'utilisation du mode CFB (rétroaction de chiffre) du langage GO pour le cryptage AES. Assurez-vous que le processus de cryptage se déroule bien en analysant les causes courantes des erreurs et en fournissant les exemples de code corrects. L'accent est mis sur l'utilisation correcte des vecteurs d'initialisation (IV) et sur l'importance de comprendre la taille du bloc AES.

Pour compiler le code GO pour l'architecture ARM, définissez simplement les variables d'environnement et utilisez la commande gobuild. 1. Définissez GoOS = Linux et Goarch = ARM (32 bits) ou ARM64 (64 bits) pour spécifier la plate-forme cible. 2. En éventuellement, définissez Goarm = 7 pour le bras 32 bits pour spécifier le jeu d'instructions ARMV7. 3. Si aucun CGO n'est requis, définissez CGO_ENABLED = 0 pour assurer la liaison statique. 4. Exécutez la commande telle que goos = linuxgoarch = arm64cgo_enabled = 0gobuild-omyapp-arm64 pour générer un fichier binaire. 5. Copiez le fichier binaire généré sur un périphérique ARM (tel que Rambre
