Назад к вопросам
Junior — Middle
76
Можно ли выполнять проверку типа данных в языке Go?
Компании, где спрашивали
Самокат Тех
Ответ от нейросети
sobes.tech AI
В Go можно выполнять проверку типа данных во время выполнения с помощью конструкции type assertion и type switch. Это полезно, когда у вас есть переменная интерфейсного типа (interface{}), и нужно определить её конкретный тип.
Пример с type assertion:
var i interface{} = "строка"
s, ok := i.(string) // ok будет true, если i действительно string
if ok {
fmt.Println("Это строка:", s)
} else {
fmt.Println("Не строка")
}
Пример с type switch:
switch v := i.(type) {
case int:
fmt.Println("int", v)
case string:
fmt.Println("string", v)
default:
fmt.Println("другой тип")
}
Таким образом, Go поддерживает проверку типа во время выполнения, но не имеет встроенной функции для проверки типа переменной на этапе компиляции, так как язык статически типизирован.