Maison développement back-end Golang Utilisez la fonction flag.StringVar pour définir les paramètres de ligne de commande et obtenir leurs valeurs

Utilisez la fonction flag.StringVar pour définir les paramètres de ligne de commande et obtenir leurs valeurs

Jul 24, 2023 pm 03:33 PM
Fonction Flagstringvar Définir les paramètres de ligne de commande Obtenir les valeurs des paramètres

Utilisez la fonction flag.StringVar pour définir les paramètres de ligne de commande et obtenir leurs valeurs

Les paramètres de ligne de commande sont une méthode très courante de transmission de paramètres, qui peut facilement spécifier certains paramètres ou configurations requis lorsque le programme est exécuté dans le terminal ou ligne de commande. En langage Go, vous pouvez utiliser le package flag pour gérer les paramètres de ligne de commande. Le package flag fournit FlagSet, BoolVar, IntVar, StringVar et d'autres fonctions pour définir et analyser les paramètres de ligne de commande. Cet article se concentrera sur la fonction flag.StringVar et donnera un exemple d'utilisation. La fonction

flag.StringVar est définie comme suit :

func StringVar(p *string, name string, value string, usage string)

où, p est un pointeur de type chaîne, utilisé pour stocker la valeur de la ligne de commande paramètre ; nom est le nom du paramètre de ligne de commande, commençant généralement par un tiret, tel que "-name" ; la valeur est la valeur par défaut du paramètre de ligne de commande ; l'utilisation est les informations de description du paramètre de ligne de commande ;

Ce qui suit est un exemple de code simple :

package main

import (
    "flag"
    "fmt"
)

func main() {
    // 定义一个名称为name的命令行参数,默认值为"default",描述信息为"This is a name parameter"
    var name string
    flag.StringVar(&name, "name", "default", "This is a name parameter")

    // 解析命令行参数
    flag.Parse()

    // 输出参数值
    fmt.Println("Name:", name)
}

Dans le code ci-dessus, nous utilisons d'abord la fonction flag.StringVar pour définir un paramètre de ligne de commande nommé name. Sa valeur par défaut est "default" et les informations de description sont "This is". un paramètre de nom". Ensuite, utilisez la fonction flag.Parse() pour analyser les arguments de la ligne de commande. Enfin, la valeur du paramètre est sortie via la fonction fmt.Println.

Lorsque nous exécutons le programme dans le terminal ou en ligne de commande, nous pouvons spécifier la valeur des paramètres de ligne de commande de la manière suivante :

$ go run main.go -name Jack

Le résultat de sortie est le suivant :

Name: Jack

Notez que lors de l'exécution du programme, le les paramètres de ligne de commande sont les mêmes que le nom du programme. Il doit y avoir un espace entre les deux. Les paramètres de ligne de commande définis par le programme via la fonction flag.StringVar peuvent être spécifiés en ajoutant le nom du paramètre et la valeur correspondante après le nom du programme. Dans l'exemple ci-dessus, nous avons utilisé le nom du paramètre "-name" pour spécifier la valeur du paramètre name comme "Jack".

Pour résumer, l'utilisation de la fonction flag.StringVar peut facilement définir les paramètres de ligne de commande et stocker leurs valeurs dans des variables spécifiées. En analysant les paramètres de ligne de commande, nous pouvons contrôler de manière flexible le comportement du programme. L'utilisation du package flag pour traiter les paramètres de ligne de commande peut améliorer la facilité d'utilisation et l'évolutivité du programme.

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!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

Video Face Swap

Video Face Swap

Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

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

Comment travaillez-vous avec les variables d'environnement à Golang? Comment travaillez-vous avec les variables d'environnement à Golang? Aug 19, 2025 pm 02:06 PM

Goprovidesbuilt-insupportforhandlinlinenvironmentVariblesviattheoSpackage, permettant à développer laderadead, set et manageenvironmentDataseCurely et entièrement.

passer par l'exemple exécutant un sous-processus passer par l'exemple exécutant un sous-processus Aug 06, 2025 am 09:05 AM

Exécutez le processus enfant à l'aide du package OS / EXEC, créez la commande via exec.command mais ne l'exécutez pas immédiatement; 2. Exécutez la commande avec .output () et attrapez stdout. Si le code de sortie est non nul, return exec.exiterror; 3. Utilisez .Start () Pour démarrer le processus sans blocage, combinez avec .StoutPipe () pour diffuser la sortie en temps réel; 4. Entrez les données dans le processus via .stDinpipe (), et après avoir écrit, vous devez fermer le pipeline et appeler .wait () pour attendre la fin; 5. exec.exiterror doit être traité pour obtenir le code de sortie et le stderr de la commande raté pour éviter les processus zombies.

Quelles sont les alternatives à la journalisation des bibliothèques standard à Golang? Quelles sont les alternatives à la journalisation des bibliothèques standard à Golang? Aug 05, 2025 pm 08:36 PM

Fornewgo1.21 Projets, utilise leLogForofficiAtRructuredLoggingSupport; 2.ForHigh-performanceProductionServices, ChoosezaporzorologDuetotheiRspeedAndlowallocations; 3.ForasiseAnSedrichichentegrationsLikeslackOrSentRyHooks, LoGruSisidealDespiteLowerperformance; 4; 4;

Comment implémenter un cache LRU générique dans Go Comment implémenter un cache LRU générique dans Go Aug 18, 2025 am 08:31 AM

Utilisez GO Generics et Container / List pour réaliser le cache LRU en filetage; 2. Les composants principaux incluent des cartes, des listes liées bidirectionnelles et des verrous mutex; 3. Obtenir et ajouter les opérations assurer la sécurité de la concurrence à travers les verrous, avec une complexité temporelle d'O (1); 4. Lorsque le cache est plein, l'entrée inutilisée la plus longue sera automatiquement éliminée; 5. Dans l'exemple, le cache avec une capacité de 3 a réussi à éliminer le "B" le plus long inutilisé. Cette implémentation prend en charge entièrement générique, efficace et évolutif.

Comment créer et utiliser des types d'erreur personnalisés dans Go Comment créer et utiliser des types d'erreur personnalisés dans Go Aug 11, 2025 pm 11:08 PM

Dans GO, la création et l'utilisation de types d'erreurs personnalisés peuvent améliorer l'expressivité et la débogabilité de la gestion des erreurs. La réponse est de créer une erreur personnalisée en définissant une structure qui implémente la méthode Error (). Par exemple, ValidationError contient des champs de champ et de messages et renvoie les informations d'erreur formatées. L'erreur peut ensuite être renvoyée dans la fonction, détectant des types d'erreur spécifiques via des assertions ou des erreurs de type. Vous pouvez également ajouter des méthodes comportementales telles que les erreurs ISCRITIQUES à personnalisées, qui conviennent aux scénarios qui nécessitent des données structurées, un traitement différencié, une exportation de bibliothèque ou une intégration API. Dans des cas simples, des erreurs.

Comment gérez-vous les signaux dans une application Go? Comment gérez-vous les signaux dans une application Go? Aug 11, 2025 pm 08:01 PM

La bonne façon de traiter les signaux dans les applications GO consiste à utiliser le package OS / Signal pour surveiller le signal et effectuer un arrêt élégant. 1. Utilisez Signal.Notify pour envoyer SIGINT, SIGTERM et d'autres signaux au canal; 2. Exécutez le service principal en goroutine et bloquez le signal d'attente; 3. Après avoir reçu le signal, effectuez un arrêt élégant avec le délai d'expiration via Context.withTimeout; 4. Nettoyer des ressources telles que la fermeture des connexions de la base de données et l'arrêt de la goroutine d'arrière-plan; 5. Utilisez le signal.Resine pour restaurer le comportement du signal par défaut lorsque cela est nécessaire pour vous assurer que le programme peut être terminé de manière fiable en Kubernetes et dans d'autres environnements.

Construire une API sans serveur avec des fonctions GO et Cloud Construire une API sans serveur avec des fonctions GO et Cloud Aug 05, 2025 pm 01:21 PM

Pour créer une API sans serveur, vous devez configurer un environnement GO et installer GoogleCloudsdk, puis écrire une fonction HTTP pour gérer la demande et enfin déployer sur des fonctions de cloud via GCloudCLI. 1. Installez Go1.18 et GoogleCloudsdk et configurez le projet; 2. Créer des modules GO et écrire des fonctions de traitement HTTP, prendre en charge les méthodes de GET et POST, Processez l'entrée JSON et la réponse de retour; 3. Simplifiez le code et conservez uniquement la fonction de gestionnaire, supprimez la logique du serveur local; 4. Utilisez la commande gcloud pour déployer la fonction, spécifiez la méthode d'exécution, de point d'entrée et de déclenchement; 5. Testez les interfaces Get et Post de l'API, vérifiez le retour

Comment créer une balise de construction personnalisée dans Go Comment créer une balise de construction personnalisée dans Go Aug 27, 2025 am 04:37 AM

CustomBuildTagSingoAllowConditionalCompilationBasedOnenvironment, Architecture, OrCustomScenariosByusing // Go: BuildTagsAtTheTopoffiles, qui aéréthénabledViagobuild-tags "Tagname", soutenant les opérateurs de type &&, ||, et! ForComplexCondidit

See all articles