Junior — Middle
Ինչպե՞ս որոշել, որ որոշակի կառուցվածքը իրականացնում է տրված ինտերֆեյսը։
sobes.tech AI
Պատասխան AI-ից
Go լեզվում ինտերֆեյսի իրականացումը անուղղակիորեն ստուգվում է. եթե տիպը պարունակում է ինտերֆեյսում նշված բոլոր մեթոդները, ապա այն ավտոմատ կերպով իրականացնում է այդ ինտերֆեյսը:
Որպեսզի որոշեք, արդյոք կառուցվածքը իրականացնում է տրված ինտերֆեյսը, կարող եք:
- փորձել հատկացնել կառուցվածքի օրինակին ինտերֆեյսի տիպի փոփոխական — եթե կոմպիլյացիան անցնի, նշանակում է, որ կառուցվածքը իրականացնում է ինտերֆեյսը:
- օգտագործել _var _-ի միջոցով ստատիկ ստուգում՝
var _ MyInterface = (*MyStruct)(nil)
Եթե այս կոդը կոմպիլյացվի առանց սխալների, նշանակում է, որ MyStruct իրականացնում է MyInterface ինտերֆեյսը:
Օրինակ՝
type MyInterface interface {
DoSomething()
}
type MyStruct struct {}
func (m *MyStruct) DoSomething() {
// իրականացում
}
// Ինտերֆեյսի իրականացման ստուգում
var _ MyInterface = (*MyStruct)(nil)
Այսպիսով՝ Go-ում անհրաժեշտ չէ հստակ նշել ինտերֆեյսի իրականացումը՝ բավարար է իրականացնել նրա բոլոր մեթոդները։