Sobes.tech
Junior — Middle

Kaip galima nustatyti konkrečią objekto, įgyvendinančio sąsają, tipą?

sobes.tech AI

Atsakymas iš AI

Go kalboje, norint nustatyti konkretų objektą, įgyvendinantį sąsają, naudojamas tipo teiginys (type assertion) arba tipo perjungimas (type switch).

Tipo teiginio pavyzdys:

var i interface{} = someInterfaceValue
if v, ok := i.(ConcreteType); ok {
    // v turi ConcreteType tipą
    fmt.Println("Tai yra ConcreteType", v)
} else {
    fmt.Println("Kitas tipas")
}

Tipo perjungimo pavyzdys:

switch v := i.(type) {
case ConcreteType:
    fmt.Println("Tai yra ConcreteType", v)
case AnotherType:
    fmt.Println("Tai yra AnotherType", v)
default:
    fmt.Println("Nežinomas tipas")
}