No he encontrado un buen recurso para usar interface{}
tipos. Por ejemplo
package main
import "fmt"
func weirdFunc(i int) interface{} {
if i == 0 {
return "zero"
}
return i
}
func main() {
var i = 5
var w = weirdFunc(5)
// this example works!
if tmp, ok := w.(int); ok {
i += tmp
}
fmt.Println("i =", i)
}
¿Conoce una buena introducción al uso de Go's interface{}
?
preguntás especificas:
- ¿Cómo obtengo el tipo de w "real"?
- ¿Hay alguna forma de obtener la representación de cadena de un tipo?
- ¿Hay alguna forma de utilizar la representación de cadena de un tipo para convertir un valor?