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 :
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
Tutorials
+9.6k Golang : Format strings to SEO friendly URL example
+6.8k Mac OSX : Find large files by size
+25.1k Golang : Convert uint value to string type
+7.6k Golang : How to execute code at certain day, hour and minute?
+12.5k Golang : Remove or trim extra comma from CSV
+7.1k Golang : How to fix html/template : "somefile" is undefined error?
+10.8k Golang : Replace a parameter's value inside a configuration file example
+10.1k Golang : Text file editor (accept input from screen and save to file)
+8.6k Golang : Executing and evaluating nested loop in html template
+33.5k Golang : How to check if slice or array is empty?
+11.2k Golang : How to flush a channel before the end of program?
+14.1k Golang : Simple word wrap or line breaking example