Sobes.tech
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("Белгисиз түр")
}