Junior — Middle
Koja je razlika između strukture bez metoda i interfejsa u programskom jeziku?
sobes.tech АИ
Одговор од АИ
U Go, struktura (struct) je konkretan tip podataka koji sadrži skup polja (varijabli). Ona opisuje kako su podaci organizovani, ali sama po sebi ne sadrži ponašanje.
Interfejs (interface) u Go opisuje skup metoda koje tip mora implementirati da bi odgovarao tom interfejsu. Interfejs ne sadrži podatke, već samo potpise metoda.
Glavne razlike:
- Struktura: konkretna implementacija sa poljima.
- Interfejs: apstrakcija koja opisuje ponašanje putem metoda.
- Struktura može implementirati jedan ili više interfejsa ako ima odgovarajuće metode.
Primer:
// Struktura bez metoda
type User struct {
Name string
Age int
}
// Interfejs sa metodom
type Greeter interface {
Greet() string
}
// Implementacija interfejsa
func (u User) Greet() string {
return "Hello, " + u.Name
}
Ovde je User struktura sa poljima, a Greeter je interfejs koji opisuje ponašanje. Bez metode Greet, struktura User ne implementira interfejs Greeter.