Junior — Middle
Ինչպե՞ս կարելի է որոշել ինտերֆեյսը իրականացնող օբյեկտի կոնկրետ տիպը։
sobes.tech AI
Պատասխան AI-ից
Go լեզվում, որոշակի տիպի օբյեկտը որոշելու համար, որը իրականացնում է ինտերֆեյս, օգտագործվում է տիպի հաստատում (type assertion) կամ տիպի փոխարկում (type switch):
Տիպի հաստատման օրինակ:
var i interface{} = someInterfaceValue
if v, ok := i.(ConcreteType); ok {
// v ունի ConcreteType տիպ
fmt.Println("Սա է ConcreteType", v)
} else {
fmt.Println("Այլ տիպ")
}
Տիպի փոխարկման օրինակ:
switch v := i.(type) {
case ConcreteType:
fmt.Println("Սա է ConcreteType", v)
case AnotherType:
fmt.Println("Սա է AnotherType", v)
default:
fmt.Println("Անհայտ տիպ")
}