Junior — Middle
Jak można określić konkretny typ obiektu implementującego interfejs?
sobes.tech AI
Odpowiedź od AI
W języku Go do określenia konkretnego obiektu implementującego interfejs używa się twierdzenia typu (type assertion) lub przełącznika typu (type switch).
Przykład z twierdzeniem typu:
var i interface{} = someInterfaceValue
if v, ok := i.(ConcreteType); ok {
// v ma typ ConcreteType
fmt.Println("To jest ConcreteType", v)
} else {
fmt.Println("Inny typ")
}
Przykład z przełącznikiem typu:
switch v := i.(type) {
case ConcreteType:
fmt.Println("To jest ConcreteType", v)
case AnotherType:
fmt.Println("To jest AnotherType", v)
default:
fmt.Println("Nieznany typ")
}