@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
, а не строку.