Golang : Detect variable or constant type




Problem :

You have a variable or constant and you want to know which type the variable belongs to.

Solution :

Use the reflect package. From the overview itself :

A call to ValueOf returns a Value representing the run-time data. Zero takes a Type and returns a Value representing a zero value for that type.

For example :

 package main

 import (
 "fmt"
 "reflect"
 "strconv"
 )

 func main() {

 var str string = "123456789"

 sixtyFour, err := strconv.ParseInt(str, 10, 64) // use base 10 for sanity

 if err != nil {
 fmt.Println(err)
 }

 fmt.Printf("The type of str is %v \n", reflect.TypeOf(str))

 fmt.Printf("The type of sixtyFour is %v \n", reflect.TypeOf(sixtyFour))

 }

Output :

The type of str is string

The type of sixtyFour is int64

Reference :

http://golang.org/pkg/reflect/#Type

  See also : Golang : Constant and variable names in native language





By Adam Ng

IF you gain some knowledge or the information here solved your programming problem. Please consider donating to the less fortunate or some charities that you like. Apart from donation, planting trees, volunteering or reducing your carbon footprint will be great too.


Advertisement