Senior
Go'da arayüzler nedir? Türler arayüzleri nasıl uygular?
sobes.tech yapay zeka
AI'dan gelen yanıt
Go dilinde, arayüz (interface), davranışı tanımlayan bir dizi yöntemdir. Bir tür, arayüzde ilan edilen tüm yöntemleri içeriyorsa, açıkça arayüzü uygulamasına gerek olmadan arayüzü uygular.
Buna örtük arayüz uygulaması denir. Bu sayede daha esnek ve genişletilebilir kod yazılabilir.
Örnek:
package main
import "fmt"
type Reader interface {
Read(p []byte) (n int, err error)
}
type File struct {}
func (f File) Read(p []byte) (n int, err error) {
// okuma uygulaması
return 0, nil
}
func main() {
var r Reader
f := File{}
r = f // File, Reader'ı uygular
fmt.Println(r)
}
Burada, File tipi, gerekli imzaya sahip Read yöntemiyle Reader arayüzünü uygular.