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