Sobes.tech
Junior — Middle

Čime se razlikuje metoda od funkcije i koje su karakteristike njihove upotrebe?

sobes.tech АИ

Одговор од АИ

U jeziku Go, funkcija je nezavisni blok koda koji se može pozvati po imenu i koji može prihvatiti parametre i vratiti vrednosti.

Metod je funkcija povezana sa određenim tipom (npr. strukturom). Metod se deklariše sa primaocem (receiver), koji određuje kojem tipu pripada.

Karakteristike korišćenja:

  • Metod omogućava rad sa podacima određenog tipa, koristeći primaoca unutar tela metode.
  • Metode pomažu u organizaciji koda i implementaciji ponašanja za tipove, što Go približava objektno-orijentisanom stilu.

Primer:

package main
import "fmt"

type Person struct {
    Name string
}

// Metod sa primaocem tipa Person
func (p Person) Greet() {
    fmt.Println("Zdravo, zovem se", p.Name)
}

// Obična funkcija
func Add(a, b int) int {
    return a + b
}

func main() {
    p := Person{Name: "Ivan"}
    p.Greet() // poziv metode
    fmt.Println(Add(2, 3)) // poziv funkcije
}