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!