Sobes.tech
Junior — Middle

Derleyiciye belirli bir sınıfın belirli bir arayüzü uyguladığını nasıl belirtirsiniz?

sobes.tech yapay zeka

AI'dan gelen yanıt

Go dilinde, arayüz uygulaması örtük olarak gerçekleşir: Bir tür, bir arayüzün tüm yöntemlerini uygularsa, otomatik olarak bu arayüzü uyguladığı kabul edilir. Bunu açıkça belirtmeye gerek yoktur.

Örnek:

package main

import "fmt"

type Speaker interface {
    Speak() string
}

type Dog struct {}

func (d Dog) Speak() string {
    return "Hav!"
}

func main() {
    var s Speaker
    d := Dog{}
    s = d // Dog, Speaker arayüzünü uygular
    fmt.Println(s.Speak())
}

Bir türün arayüzü uyguladığını açıkça kontrol etmek istiyorsanız, derleme kontrolü kullanabilirsiniz:

var _ Speaker = (*Dog)(nil) // Derleyici, *Dog'un Speaker'ı uyguladığını kontrol eder

Bu şekilde, Go'da arayüzler, gerekli yöntemler mevcutsa otomatik olarak uygulanır.