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