Não encontrei um bom recurso para usar interface{}
tipos. Por exemplo
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)
}
Você conhece uma boa introdução ao uso do Go interface{}
?
questões específicas:
- como obtenho o tipo "real" de w?
- existe alguma maneira de obter a representação de string de um tipo?
- existe alguma maneira de usar a representação de string de um tipo para converter um valor?