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.