Sobes.tech
Junior — Middle

Care este diferența dintre un metod și o funcție și care sunt caracteristicile utilizării lor?

sobes.tech AI

Răspuns de la AI

În Go, o funcție este un bloc de cod independent, care poate fi apelat după nume și poate accepta parametri și returna valori.

Un metodă este o funcție asociată cu un tip specific (de exemplu, o structură). Metoda este declarată cu un receptor, care determină la ce tip aparține.

Caracteristici de utilizare:

  • Metoda permite lucrul cu date ale unui tip specific, folosind receptorul în corpul metodei.
  • Metodele ajută la organizarea codului și la implementarea comportamentului pentru tipuri, apropiind Go de stilul orientat pe obiect.

Exemplu:

package main
import "fmt"

type Person struct {
    Name string
}

// Metodă cu receptor de tip Person
func (p Person) Greet() {
    fmt.Println("Salut, numele meu este", p.Name)
}

// Funcție obișnuită
func Add(a, b int) int {
    return a + b
}

func main() {
    p := Person{Name: "Ivan"}
    p.Greet() // apelarea metodei
    fmt.Println(Add(2, 3)) // apelarea funcției
}