No he encontrado un buen recurso para usar los tipos interface{}
. Por ejemplo¿Cómo determinar el tipo "real" de un valor de interfaz {}?
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 interface{}
?
preguntas específicas:
- ¿cómo puedo obtener el "verdadero" Tipo de w?
- ¿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?
tienes toda la razón! ¡Gracias! ¿tiene alguna idea sobre las representaciones de tipos de cadenas de tipos? –
Echa un vistazo a 'reflect.TypeOf'. –