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] }
Avec cette fonction, le code suivant peut être utilisé pour décompresser la chaîne divisée :
name, link := splitLink("foo\thttps://bar", "\t")
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 } }
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)
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!