Junior — Middle
Go dilinde arayüz ile diğer programlama dillerindeki arayüzler arasındaki fark nedir?
sobes.tech yapay zeka
AI'dan gelen yanıt
Go dilinde arayüzler, dolaylı olmalarıyla ayrılır — türün arayüzü açıkça belirtmesi gerekmez. Eğer bir tür, arayüzün tüm yöntemlerini içeriyorsa, otomatik olarak onun uygulaması olarak kabul edilir.
Bu, birçok diğer dilden farklıdır; burada, bir sınıf veya türün arayüzü uyguladığını açıkça belirtmek gerekir.
Ö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) {
// yöntem uygulaması
return 0, nil
}
func main() {
var r Reader
var f File
r = f // File otomatik olarak Reader'ı uygular
fmt.Println(r)
}