@lilla.herman Вы можете использовать reflect стандартный пакет и передав Вашу переменную вызывать метод Kind(), небольшой пример ниже:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
package main import ( "fmt" "reflect" ) func main() { integer := 2 fmt.Println(reflect.TypeOf(integer).Kind()) // int varString := "text" fmt.Println(reflect.TypeOf(varString).Kind()) // string varBoolean := true fmt.Println(reflect.TypeOf(varBoolean).Kind()) // bool } |
@lilla.herman
В Go тип переменной можно узнать двумя способами:
1 2 3 |
var x int = 10 fmt.Printf("Type of x is %T ", x) |
Это выведет Type of x is int на консоль.
1 2 |
var x float64 = 3.14 fmt.Println(reflect.TypeOf(x)) |
Это выведет float64 на консоль.
Обратите внимание, что во втором примере мы использовали функцию fmt.Println(), чтобы вывести тип переменной на консоль. Это происходит потому, что функция reflect.TypeOf() возвращает значение типа reflect.Type, а не строку.