snippetgoCritical
How to find the type of an object in Go?
Viewed 0 times
objecthowfindthetype
Problem
How do I find the type of an object in Go? In Python, I just use
Here is the container from which I am iterating:
I am not able to get the type of the object lines in this case which is an array of strings.
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.
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.
Output:
see: http://play.golang.org/p/XQMcUVsOja to view it in action.
More documentation here: http://golang.org/pkg/reflect/#Type
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
float64see: http://play.golang.org/p/XQMcUVsOja to view it in action.
More documentation here: http://golang.org/pkg/reflect/#Type
Code Snippets
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))
}string
int
float64Context
Stack Overflow Q#20170275, score: 714
Revisions (0)
No revisions yet.