Junior — Middle
Strukturanın verilmiş interfeysə uyğun olub olmadığını necə yoxlamaq olar?
sobes.tech Süni İntellekt
AI-dan cavab
Go-da, strukturun interfeysə uyğunluğu yoxlaması qeyri-şüurludur — əgər struktur bütün interfeys metodlarını həyata keçirirsə, ona uyğundur.
Açıq yoxlama üçün, tez-tez kompilyasiya yoxlaması təyin etmə vasitəsilə həyata keçirilir:
type MyInterface interface {
DoSomething()
}
type MyStruct struct {}
func (m MyStruct) DoSomething() {}
// Kompilyasiya yoxlaması
var _ MyInterface = (*MyStruct)(nil)
Əgər MyStruct MyInterface-i həyata keçirməzsə, kompilyator səhv verəcək. Bu, proqramı işə salmadan strukturun interfeysə uyğun olduğunu təmin etmək üçün rahat bir yoldur.