Acquérir une liste de valeurs en tant que drapeau dans Golang
Dans Golang, le package flag standard offre la possibilité d'analyser les drapeaux à partir de la commande line, mais il ne prend en charge que les types primitifs tels que les chaînes, les entiers et les booléens. Pour gérer une liste de valeurs comme indicateur, on peut implémenter un type flag.Value personnalisé et utiliser flag.Var() pour le lier.
Un exemple d'implémentation est disponible ci-dessous :
import ( "flag" "fmt" ) type arrayFlags []string // String is a required implementation of the flag.Value interface func (i *arrayFlags) String() string { return fmt.Sprintf("%v", *i) } // Set is another required implementation of the flag.Value interface func (i *arrayFlags) Set(value string) error { *i = append(*i, value) return nil } var myFlags arrayFlags func main() { flag.Var(&myFlags, "list1", "Some description for this parameter.") flag.Parse() }
Ce type d'indicateur personnalisé peut ensuite être utilisé pour transmettre plusieurs valeurs d'indicateur, telles que :
go run your_file.go --list1 value1 --list1 value2
En résumé, en implémentant un type flag.Value personnalisé et en utilisant flag.Var(), Golang permet aux développeurs pour analyser une liste de valeurs sous forme d'indicateurs, offrant une plus grande flexibilité dans la gestion des arguments de ligne de commande.
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!