Junior — Middle
Müəyyən bir strukturun verilmiş interfeysə uyğun olub-olmadığını necə müəyyən etmək olar?
sobes.tech Süni İntellekt
AI-dan cavab
Go dilində, interfeysin tətbiqi qeyri-rəsmi şəkildə yoxlanılır: əgər bir növ interfeysdə elan olunan bütün metodları ehtiva edirsə, o avtomatik olaraq həmin interfeysi tətbiq edir.
Bir strukturun verilmiş interfeysi tətbiq etdiyini müəyyən etmək üçün:
- Struktur nümunəsini interfeys tipli dəyişənə təyin etməyə çalışın — əgər tərtib uğurlu olarsa, bu, strukturun interfeysi tətbiq etdiyini göstərir.
- _var _ ilə statik yoxlama istifadə edin:
var _ MyInterface = (*MyStruct)(nil)
Əgər bu kod səhvsiz tərtib olunursa, bu, MyStruct-in MyInterface interfeysini tətbiq etdiyini göstərir.
Nümunə:
type MyInterface interface {
DoSomething()
}
type MyStruct struct {}
func (m *MyStruct) DoSomething() {
// tətbiq
}
// Interfeysin tətbiqini yoxlamaq
var _ MyInterface = (*MyStruct)(nil)
Beləliklə, Go-da interfeysi açıq şəkildə göstərməyə ehtiyac yoxdur — bütün metodlarını tətbiq etmək kifayətdir.