Cómo convertir interface{} a string en Go
¡Hola a todos! Acabo de empezar a aprender Go y me encontré con un problema al trabajar con el tipo `interface{}`. Tengo una función que devuelve `interface{}` y necesito obtener un string normal de ese valor para usarlo más adelante.
Aquí hay un ejemplo de código:
```go
package main
import "fmt"
func getValue() interface{} {
return "Hello, World!"
}
func main() {
val := getValue()
// ¿Cómo obtener ahora un string de val?
fmt.Println(val) // Imprime "Hello, World!", pero val sigue siendo interface{}
}
```
El problema es que no puedo aplicar operaciones de string a `val`. Por ejemplo, intentar llamar a `len(val)` o usar `val + "!"` provoca un error de compilación: "invalid operation". Intenté una conversión de tipo simple: `val.(string)`, pero parece peligroso porque si `interface{}` almacena algo que no es un string, el programa entrará en pánico.
Díganme, ¿cómo convertir `interface{}` a string de manera correcta y segura? ¿Hay funciones estándar en Go para esto? Y si
No answers yet.
Inicia sesión para dejar una respuesta