Avatar ·

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