Sobes.tech
Junior — Middle

Kā noteikt konkrētu objekta tipu, kas realizē interfeisu?

sobes.tech AI

Atbilde no AI

Go valodā, lai noteiktu konkrētu objektu, kas realizē interfeisu, tiek izmantots tipa apgalvojums (type assertion) vai tipa pārslēdzējs (type switch).

Tipa apgalvojuma piemērs:

var i interface{} = someInterfaceValue
if v, ok := i.(ConcreteType); ok {
    // v ir ConcreteType tips
    fmt.Println("Tas ir ConcreteType", v)
} else {
    fmt.Println("Cits tips")
}

Tipa pārslēdzēja piemērs:

switch v := i.(type) {
case ConcreteType:
    fmt.Println("Tas ir ConcreteType", v)
case AnotherType:
    fmt.Println("Tas ir AnotherType", v)
default:
    fmt.Println("Nezināms tips")
}