Non ho trovato una buona risorsa per utilizzare i interface{}tipi. Per esempio
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)
}
Conosci una buona introduzione all'uso di Go's interface{}?
domande specifiche:
- come ottengo il tipo "reale" di w?
- c'è un modo per ottenere la rappresentazione di stringa di un tipo?
- c'è un modo per utilizzare la rappresentazione di stringa di un tipo per convertire un valore?