Maison > développement back-end > Golang > Comment analyser une liste de valeurs comme indicateur dans Golang ?

Comment analyser une liste de valeurs comme indicateur dans Golang ?

Patricia Arquette
Libérer: 2024-11-16 16:18:03
original
957 Les gens l'ont consulté

How to Parse a List of Values as a Flag in Golang?

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()
}
Copier après la connexion

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
Copier après la connexion

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!

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