Junior — Middle
Számítógépes nyelvekben az interfészt tekinthetjük adat típusdefiníciónak?
sobes.tech MI
Válasz az MI-től
A Go-ban az interfész a metódusok halmazának meghatározásaként értelmezhető, amelyet egy típusnak meg kell valósítania ahhoz, hogy kompatibilis legyen ezzel az interfésszel. Így az interfész a viselkedést határozza meg, nem egy konkrét adattípust.
Az interfész nem ír le konkrét mezőket vagy a típus belső szerkezetét, csak egy halmazt a metódusokból, amelyeket a típusnak rendelkeznie kell. Ezért az interfészt széles értelemben adat típusának lehet tekinteni — ez egy viselkedésen alapuló absztrakt típus, nem a szerkezeten.
Példa:
// A Reader interfész meghatározza a Read metódust
type Reader interface {
Read(p []byte) (n int, err error)
}
// Bármilyen típus, amely megvalósítja a Read metódust, megfelel a Reader interfésznek