Maison >développement back-end >Golang >Comment définir et analyser des FlagSets indépendants dans Go pour les sous-commandes ?

Comment définir et analyser des FlagSets indépendants dans Go pour les sous-commandes ?

Linda Hamilton
Linda Hamiltonoriginal
2024-12-28 10:59:31469parcourir

How to Define and Parse Independent FlagSets in Go for Subcommands?

Définition de FlagSets indépendants dans GoLang

Les FlagSets facilitent la définition d'ensembles d'indicateurs distincts, en prenant en charge l'implémentation de sous-commandes dans une interface de ligne de commande.

Dans Go, vous pouvez créer plusieurs types FlagSet et initialiser les variables de drapeau. Cependant, lors de l'analyse de ces ensembles d'indicateurs, vous rencontrerez des erreurs si la ligne de commande contient des indicateurs destinés à un autre ensemble.

f1 := flag.NewFlagSet("f1", flag.ContinueOnError)
apply := f1.Bool("apply", false, "")
silent := f1.Bool("silent", false, "")

f2 := flag.NewFlagSet("f2", flag.ContinueOnError)
reset := f2.Bool("reset", false, "")

Pour séparer ces FlagSets, faites la distinction entre les sous-commandes et invoquez ensuite Parse sur l'ensemble approprié.

switch os.Args[1] {
  case "apply":
    f1.Parse(os.Args[2:])
    fmt.Println("apply", *silent)
  case "reset":
    f2.Parse(os.Args[2:])
    fmt.Println("reset", *loud)
}

En adhérant à cette approche, vous pouvez définir et analyser des FlagSets indépendants dans GoLang, garantissant que les indicateurs ne sont applicables qu'à ceux auxquels ils sont destinés. sous-commandes.

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:
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