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
}