Junior — Middle
Bir metod ile fonksiyon arasındaki fark nedir ve kullanım özellikleri nelerdir?
sobes.tech yapay zeka
AI'dan gelen yanıt
Go dilinde fonksiyon, bağımsız bir kod bloğudur, ismiyle çağrılabilir ve parametreler alıp değerler döndürebilir.
Yöntem ise belirli bir türe (örneğin, yapıya) bağlı olan bir fonksiyondur. Yöntem, hangi türe ait olduğunu belirleyen bir alıcı (receiver) ile tanımlanır.
Kullanım özellikleri:
- Yöntem, belirli bir türe ait verilerle çalışmaya olanak tanır, yöntemin gövdesinde alıcıyı kullanır.
- Yöntemler, kodu düzenlemeye ve türe özgü davranışlar uygulamaya yardımcı olur, bu da Go'yu nesne yönelimli stile yaklaştırır.
Örnek:
package main
import "fmt"
type Person struct {
Name string
}
// Person türüyle alıcıya sahip yöntem
func (p Person) Greet() {
fmt.Println("Merhaba, benim adım", p.Name)
}
// Normal fonksiyon
func Add(a, b int) int {
return a + b
}
func main() {
p := Person{Name: "Ivan"}
p.Greet() // yöntemi çağır
fmt.Println(Add(2, 3)) // fonksiyonu çağır
}