Как узнать тип переменной в golang?

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

от lilla.herman , в категории: Golang , 3 года назад

Как узнать тип переменной в golang?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

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

от krista , 3 года назад

@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
}


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

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

@lilla.herman 

В Go тип переменной можно узнать двумя способами:

  1. Использование функции fmt.Printf() для вывода типа переменной на консоль:
1
2
3
var x int = 10
fmt.Printf("Type of x is %T
", x)


Это выведет Type of x is int на консоль.

  1. Использование функции reflect.TypeOf() из пакета reflect:
1
2
var x float64 = 3.14
fmt.Println(reflect.TypeOf(x))


Это выведет float64 на консоль.


Обратите внимание, что во втором примере мы использовали функцию fmt.Println(), чтобы вывести тип переменной на консоль. Это происходит потому, что функция reflect.TypeOf() возвращает значение типа reflect.Type, а не строку.