Sobes.tech
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:

  1. 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.
  2. _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.