Junior — Middle
Belirli bir yapının verilen bir arayüzü uygulayıp uygulamadığını nasıl belirleyebilirsiniz?
sobes.tech yapay zeka
AI'dan gelen yanıt
Go dilinde, bir arayüzün uygulanması örtük olarak kontrol edilir: Bir tür, arayüzde ilan edilen tüm yöntemleri içeriyorsa, otomatik olarak bu arayüzü uygular.
Bir yapının belirli bir arayüzü uygulayıp uygulamadığını belirlemek için:
- Yapı örneğini arayüz türündeki bir değişkene atamayı deneyin — derleme başarılı olursa, yapının arayüzü uyguladığı anlamına gelir.
- _var _ kullanarak statik bir kontrol yapın:
var _ MyInterface = (*MyStruct)(nil)
Eğer bu kod hata olmadan derlenirse, MyStruct'in MyInterface arayüzünü uyguladığı anlamına gelir.
Örnek:
type MyInterface interface {
DoSomething()
}
type MyStruct struct {}
func (m *MyStruct) DoSomething() {
// uygulama
}
// Arayüz uygulamasını kontrol et
var _ MyInterface = (*MyStruct)(nil)
Bu şekilde, Go'da bir arayüzün açıkça belirtilmesine gerek yoktur — tüm yöntemlerini uygulamak yeterlidir.