Avatar ·

Conversão de tipos de slices de interfaces em Go: como converter []interface{} em []string?

Olá a todos! Sou novo em Go e me deparei com um problema que me parece muito estranho. Tenho uma função que recebe `[]interface{}` (slice de interfaces), mas preciso passá-lo para outra função que espera `[]string`. Estou tentando fazer uma simples conversão de tipo, mas o compilador retorna um erro. Aqui está um exemplo de código: ```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"} // Erro: cannot use data (type []interface{}) as type []string in argument to printStrings printStrings(data) } ``` Eu entendo que `[]interface{}` e `[]string` são tipos diferentes, mas cada elemento em `data` já é uma string! Por que Go não permite simplesmente converter um slice em outro? Em outras linguagens, como Python ou Java, isso funciona através de conversão de tipos. Tentei usar `data.([]