Maison >développement back-end >Golang >Comment réaliser plusieurs affectations à partir de tableaux dans Go ?
Assignations multiples à partir de tableaux dans Go
En Python, le décompression à partir de tableaux peut être effectué avec élégance avec des affectations telles que :
a, b = "foo;bar".split(";")
Go ne prend pas en charge un tel emballage/déballage général. Cependant, il existe plusieurs façons de réaliser plusieurs affectations.
Fonctions personnalisées :
Une approche consiste à créer une fonction personnalisée qui renvoie plusieurs valeurs, comme :
func splitLink(s, sep string) (string, string) { x := strings.Split(s, sep) return x[0], x[1] }
Vous pouvez ensuite attribuer directement à partir de l'appel de fonction :
name, link := splitLink("foo\thttps://bar", "\t")
Arguments de pointeur variadique :
Une autre option consiste à utiliser des arguments de pointeur variadique :
func unpack(s []string, vars... *string) { for i, str := range s { *vars[i] = str } }
Cela vous permet d'attribuer des valeurs à plusieurs variables :
var name, link string unpack(strings.Split("foo\thttps://bar", "\t"), &name, &link)
Choix de l'approche :
L'approche de la fonction personnalisée peut être plus lisible pour les scénarios courants dans lesquels vous souhaitez diviser et attribuer uniquement deux variables. Pour les scénarios de tableaux plus complexes ou de taille variable, l'approche des arguments de pointeur variadique peut être plus flexible.
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!