Maison > développement back-end > Golang > Comment puis-je décompresser des éléments de tableau directement en variables dans Go ?

Comment puis-je décompresser des éléments de tableau directement en variables dans Go ?

Susan Sarandon
Libérer: 2024-11-14 20:08:02
original
598 Les gens l'ont consulté

How Can I Unpack Array Elements Directly into Variables in Go?

Déballage des éléments d'un tableau dans Go

Go ne dispose pas de la syntaxe pratique pour décompresser les éléments d'un tableau directement dans des variables que l'on trouve en Python. Bien que l'approche initiale de l'interrogateur utilisant une variable intermédiaire fonctionne, elle peut conduire à un code encombré, en particulier dans des scénarios complexes.

Valeurs de retour multiples

Pour résoudre ce problème, la méthode recommandée La solution consiste à créer une fonction qui renvoie plusieurs valeurs. Par exemple, pour diviser une chaîne et décompresser les résultats en deux variables, une fonction comme celle-ci peut être utilisée :

func splitLink(s, sep string) (string, string) {
    x := strings.Split(s, sep)
    return x[0], x[1]
}
Copier après la connexion

Avec cette fonction, le code suivant peut être utilisé pour décompresser la chaîne divisée :

name, link := splitLink("foo\thttps://bar", "\t")
Copier après la connexion

Arguments de pointeur variadiques

Une autre approche consiste à utiliser des arguments de pointeur variadiques, qui permettent de transmettre plusieurs variables de pointeur à une fonction et d'attribuer les valeurs d'un tableau. Voici comment cela fonctionne :

func unpack(s []string, vars... *string) {
    for i, str := range s {
        *vars[i] = str
    }
}
Copier après la connexion

Pour décompresser un tableau, le code ci-dessous peut être utilisé :

var name, link string
unpack(strings.Split("foo\thttps://bar", "\t"), &name, &link)
Copier après la connexion

Cette approche permet de décompresser des tableaux de n'importe quelle taille, mais elle nécessite une déclaration explicite des variables et est considéré comme moins lisible par certains développeurs.

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