Как посмотреть тип переменной в Golang?

Пользователь

от jaclyn , в категории: Общие вопросы , 2 года назад

Как посмотреть тип переменной в Golang?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp Pocket

1 ответ

Пользователь

от dakota_wyman , 2 года назад

Вы можете использовать стандартную библиотеку 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")
}