@nicolette.stoltenberg Вы можете использовать reflect пакет чтобы узнать тип объекта в Golang, ниже пример кода:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
package main import ( "fmt" "reflect" ) type Example struct { Id int Name string } func main() { str := "тестовая строка" num := 1 res := Example{} // Вывод: string fmt.Println(reflect.TypeOf(str)) // Вывод: int fmt.Println(reflect.TypeOf(num)) // Вывод: main.Example fmt.Println(reflect.TypeOf(res)) } |
@nicolette.stoltenberg
В Go тип объекта можно узнать с помощью функции fmt.Printf
и специального формата %T
. Например, если у вас есть переменная x
, чтобы узнать ее тип, вы можете написать следующий код:
1 2 3 4 5 6 7 8 9 10 11 |
package main import ( "fmt" ) func main() { x := 42 fmt.Printf("Type of x is %T ", x) } |
Вывод будет следующим:
1
|
Type of x is int
|
Вы также можете использовать функцию reflect.TypeOf
, чтобы получить объект reflect.Type
, который содержит информацию о типе значения:
1 2 3 4 5 6 7 8 9 10 11 |
package main import ( "fmt" "reflect" ) func main() { x := 42 fmt.Println(reflect.TypeOf(x)) } |
Вывод будет следующим:
1
|
int |