Typkonvertierung von Interface-Slices in Go: Wie konvertiere ich []interface{} in []string?
Hallo zusammen! Ich bin neu in Go und habe ein Problem, das mir sehr seltsam erscheint. Ich habe eine Funktion, die `[]interface{}` (Interface-Slice) akzeptiert, aber ich muss es an eine andere Funktion übergeben, die `[]string` erwartet. Ich versuche eine einfache Typumwandlung, aber der Compiler gibt einen Fehler aus.
Hier ist ein Beispielcode:
```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"}
// Fehler: cannot use data (type []interface{}) as type []string in argument to printStrings
printStrings(data)
}
```
Ich verstehe, dass `[]interface{}` und `[]string` unterschiedliche Typen sind, aber jedes Element in `data` ist bereits ein string.