How to find the type of an object in Go?
go, go-reflect
Solution
The Go reflection package has methods for inspecting the type of variables.
The following snippet will print out the reflection type of a string, integer and float.
package main
import (
"fmt"
"reflect"
)
func main() {
tst := "string"
tst2 := 10
tst3 := 1.2
fmt.Println(reflect.TypeOf(tst))
fmt.Println(reflect.TypeOf(tst2))
fmt.Println(reflect.TypeOf(tst3))
}
Output:
string
int
float64
see: http://play.golang.org/p/XQMcUVsOja to view it in action.
More documentation here: http://golang.org/pkg/reflect/#Type
Problem
How do I find the type of an object in Go? In Python, I just use `typeof` to fetch the type of object. Similarly in Go, is there a way to implement the same ? Here is the container from which I am iterating: ``` for e := dlist.Front(); e != nil; e = e.Next() { lines := e.Value fmt.Printf(reflect.TypeOf(lines)) } ``` I am not able to get the type of the object lines in this case which is an array of strings.