Sobes.tech
Junior — Middle

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

sobes.tech AI

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

Go-ում, կառուցվածքի համապատասխանությունը ինտերֆեյսին ստուգվում է անուղղակիորեն — եթե կառուցվածքը իրականացնում է բոլոր մեթոդները ինտերֆեյսի, ապա այն համապատասխանում է նրան:

Արագ ստուգման համար, որը կատարվում է կոմպիլյացիայի ժամանակ, հաճախ օգտագործվում է կոմպիլյացիայի ստուգում նշանակման միջոցով՝

type MyInterface interface {
    DoSomething()
}

type MyStruct struct {}

func (m MyStruct) DoSomething() {}

// Կոմպիլյացիայի ստուգում
var _ MyInterface = (*MyStruct)(nil)

Եթե MyStruct չի իրականացնում MyInterface, կոմպիլյատորը կհայտարարի սխալ: Սա հարմար միջոց է համոզվելու, որ կառուցվածքը համապատասխանում է ինտերֆեյսին՝ առանց ծրագրի գործարկելու։