Junior — Middle
Интерфейсти ишке ашырууучу объекттин так аныктамасын кантип аныктоого болот?
sobes.tech AI
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("Башка түр")
}
Түр алмаштыруу мисалы:
switch v := i.(type) {
case ConcreteType:
fmt.Println("Бул ConcreteType", v)
case AnotherType:
fmt.Println("Бул AnotherType", v)
default:
fmt.Println("Белгисиз түр")
}