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")
}