Вы можете использовать стандартную библиотеку reflect в Golang. Она вернет Вам тип переменной, пример:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
x := 1 y := float32(43.3) z := "привет" xt := reflect.TypeOf(x).Kind() yt := reflect.TypeOf(y).Kind() zt := reflect.TypeOf(z).Kind() // int fmt.Println(reflect.TypeOf(x)) // reflect.Kind: int fmt.Printf("%T: %s\n", xt, xt) // reflect.Kind: float32 fmt.Printf("%T: %s\n", yt, yt) // reflect.Kind: string fmt.Printf("%T: %s\n", zt, zt) |
Если Вам нужно это для какой то внутренней проверке, то можно использовать reflect вот так:
1 2 3 |
if xt == reflect.Int { println("xt integer") } |