Dépaquetage d'une slice/tableau en arguments de fonction en Go : existe-t-il un équivalent de l'opérateur spread de JS/Python ?
Bonjour à tous. J'écris en Go depuis peu, je viens de Python et JavaScript. Là-bas, il était très pratique de passer un tableau ou une liste à une fonction qui accepte plusieurs arguments, en utilisant l'opérateur `*` (en Python) ou `...` (spread en JS). Par exemple, en Python je pouvais faire `my_func(*my_list)`.
Maintenant en Go, j'ai une fonction qui accepte plusieurs arguments de type string :
```go
func printNames(name1, name2, name3 string) {
fmt.Println(name1, name2, name3)
}
```
Et j'ai une slice de strings :
```go
names := []string{"Alice", "Bob", "Charlie"}
```
Comment puis-je passer les éléments de cette slice à la fonction `printNames` comme des arguments séparés ? J'ai essayé d'écrire simplement `printNames(names...)`, mais le compilateur se plaint que je ne peux pas utiliser une slice avec `...` dans une fonction avec des paramètres fixes. J'ai essayé de dépaqueter explicitement avec `names[0], names[1], names[2]` — cela fonctionne, mais si j'ai 10 éléments, cela devient un cauchemar.
Dites-moi, existe-t-il un moyen en Go de dépaqueter une slice ou un tableau en arguments de fonction ?