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, "")
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:]) }
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!