Junior — Middle
Чӣ гуна метавон намудҳои мушаххасро муайян кард, ки объект интерфейсро иҷро мекунад?
sobes.tech AI
Ҷавоб аз AI
Дар забони Go барои муайян кардани объекти муайяни навъ, ки интерфейсро иҷро мекунад, истифода мешавад изҳороти навъ (type assertion) ё switch-и навъ (type switch).
Масалан бо изҳороти навъ:
var i interface{} = someInterfaceValue
if v, ok := i.(ConcreteType); ok {
// v навъи ConcreteType дорад
fmt.Println("Инҳоянд ConcreteType", v)
} else {
fmt.Println("Навъи дигар")
}
Масалан бо switch-и навъ:
switch v := i.(type) {
case ConcreteType:
fmt.Println("Инҳоянд ConcreteType", v)
case AnotherType:
fmt.Println("Инҳоянд AnotherType", v)
default:
fmt.Println("Навъи ношинохта")
}