Sobes.tech
Junior — Middle

Ինչպե՞ս որոշել, որ որոշակի կառուցվածքը իրականացնում է տրված ինտերֆեյսը։

sobes.tech AI

Պատասխան AI-ից

Go լեզվում ինտերֆեյսի իրականացումը անուղղակիորեն ստուգվում է. եթե տիպը պարունակում է ինտերֆեյսում նշված բոլոր մեթոդները, ապա այն ավտոմատ կերպով իրականացնում է այդ ինտերֆեյսը:

Որպեսզի որոշեք, արդյոք կառուցվածքը իրականացնում է տրված ինտերֆեյսը, կարող եք:

  1. փորձել հատկացնել կառուցվածքի օրինակին ինտերֆեյսի տիպի փոփոխական — եթե կոմպիլյացիան անցնի, նշանակում է, որ կառուցվածքը իրականացնում է ինտերֆեյսը:
  2. օգտագործել _var _-ի միջոցով ստատիկ ստուգում՝
var _ MyInterface = (*MyStruct)(nil)

Եթե այս կոդը կոմպիլյացվի առանց սխալների, նշանակում է, որ MyStruct իրականացնում է MyInterface ինտերֆեյսը:

Օրինակ՝

type MyInterface interface {
    DoSomething()
}

type MyStruct struct {}

func (m *MyStruct) DoSomething() {
    // իրականացում
}

// Ինտերֆեյսի իրականացման ստուգում
var _ MyInterface = (*MyStruct)(nil)

Այսպիսով՝ Go-ում անհրաժեշտ չէ հստակ նշել ինտերֆեյսի իրականացումը՝ բավարար է իրականացնել նրա բոլոր մեթոդները։