Maison > développement back-end > Golang > Comment créer des FlagSets indépendants dans GoLang pour les sous-commandes ?

Comment créer des FlagSets indépendants dans GoLang pour les sous-commandes ?

Linda Hamilton
Libérer: 2024-12-09 20:38:10
original
773 Les gens l'ont consulté

How to Create Independent FlagSets in GoLang for Subcommands?

FlagSets indépendants dans GoLang

Introduction :

Les FlagSets dans Go fournissent un mécanisme pour définir et analyser les indicateurs de ligne de commande. Bien que la documentation suggère la possibilité de créer des ensembles indépendants pour implémenter des sous-commandes dans une interface utilisateur, on ne sait toujours pas comment réaliser cette fonctionnalité dans la pratique.

Question :

Comment pouvons-nous définir des FlagSets indépendants dans GoLang pour prendre en charge les sous-commandes dans une ligne de commande interface ?

Réponse :

Distinction entre les sous-commandes

Pour obtenir des FlagSets indépendants, la distinction clé réside dans l'identification de la sous-commande avant d'analyser les drapeaux. Voici comment procéder :

1. Créez les FlagSets :

Définissez plusieurs FlagSets, un pour chaque sous-commande.

f1 := flag.NewFlagSet("f1", flag.ContinueOnError)
reset := f2.Bool("reset", false, "")
Copier après la connexion

2. Distinguer les sous-commandes :

Examinez les arguments de ligne de commande pour identifier la sous-commande active. Par exemple, si le préfixe de la commande est "apply", exécutez FlagSet "f1".

switch os.Args[1] {
  case "apply":
    f1.Parse(os.Args[2:])
  case "reset":
    f2.Parse(os.Args[2:])
}
Copier après la connexion

En séparant l'analyse des différents FlagSets en fonction des sous-commandes, nous pouvons conserver des ensembles indépendants d'indicateurs qui s'appliquent uniquement à leurs sous-commandes respectives.

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!

source:php.cn
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal