Junior — Middle
Czym różni się metoda od funkcji i jakie są cechy ich użycia?
sobes.tech AI
Odpowiedź od AI
W języku Go funkcja to niezależny blok kodu, który można wywołać po nazwie i który może przyjmować parametry oraz zwracać wartości.
Metoda to funkcja powiązana z określonym typem (np. strukturą). Metoda jest deklarowana z użyciem odbiorcy (receiver), który określa, do jakiego typu należy.
Cechy użytkowania:
- Metoda pozwala na pracę z danymi konkretnego typu, korzystając z odbiorcy wewnątrz ciała metody.
- Metody pomagają organizować kod i implementować zachowania dla typów, co przybliża Go do stylu obiektowego.
Przykład:
package main
import "fmt"
type Person struct {
Name string
}
// Metoda z odbiorcą typu Person
func (p Person) Greet() {
fmt.Println("Cześć, mam na imię", p.Name)
}
// Funkcja zwykła
func Add(a, b int) int {
return a + b
}
func main() {
p := Person{Name: "Ivan"}
p.Greet() // wywołanie metody
fmt.Println(Add(2, 3)) // wywołanie funkcji
}