Назад к вопросам
Junior — Middle
86
Каким образом можно определить конкретный тип объекта, реализующего интерфейс?
Ответ от нейросети
sobes.tech AI
В Go для определения конкретного типа объекта, реализующего интерфейс, используется утверждение типа (type assertion) или переключение по типу (type switch).
Пример с утверждением типа:
var i interface{} = someInterfaceValue
if v, ok := i.(ConcreteType); ok {
// v имеет тип ConcreteType
fmt.Println("Это ConcreteType", v)
} else {
fmt.Println("Другой тип")
}
Пример с type switch:
switch v := i.(type) {
case ConcreteType:
fmt.Println("Это ConcreteType", v)
case AnotherType:
fmt.Println("Это AnotherType", v)
default:
fmt.Println("Неизвестный тип")
}