Conversion de types de slices d'interfaces en Go : comment convertir []interface{} en []string ?
Bonjour à tous ! Je suis débutant en Go et j'ai rencontré un problème qui me semble très étrange. J'ai une fonction qui accepte `[]interface{}` (slice d'interfaces), mais je dois le passer à une autre fonction qui attend `[]string`. J'essaie de faire un simple cast de type, mais le compilateur génère une erreur.
Voici un exemple de code :
```go
package main
import "fmt"
func printStrings(strings []string) {
for _, s := range strings {
fmt.Println(s)
}
}
func main() {
var data []interface{} = []interface{}{"hello", "world", "golang"}
// Erreur : cannot use data (type []interface{}) as type []string in argument to printStrings
printStrings(data)
}
```
Je comprends que `[]interface{}` et `[]string` sont des types différents, mais chaque élément dans `data` est déjà