Conversion de types de slices d'interfaces en Go : pourquoi cela ne fonctionne-t-il pas ?
Bonjour à tous ! Je suis débutant en Go et je n'arrive pas à comprendre la conversion de types pour les slices d'interfaces. J'ai une fonction qui accepte `[]interface{}`, mais je veux lui passer une slice d'un type spécifique, par exemple `[]string`. Pourquoi Go ne permet-il pas de le faire directement ?
Voici un exemple de code qui ne fonctionne pas chez moi :
```go
package main
import "fmt"
func printAll(items []interface{}) {
for _, item := range items {
fmt.Println(item)
}
}
func main() {
names := []string{"Alice", "Bob", "Charlie"}
// Erreur : cannot use names (type []string) as type []interface{} in argument to printAll
printAll(names)
}
```
Je comprends que `string` implémente l'interface `interface{}`, mais pourquoi `[]string` ne peut-il pas être utilisé comme `[]interface{}` ? Dans la doc