Sobes.tech
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("Անհայտ տիպ")
}