Junior — Middle
Ի՞նչ տարբերություն կա մեթոդի և ֆունկցիայի միջև և ինչպիսի՞ն են նրանց օգտագործման առանձնահատկությունները։
sobes.tech AI
Պատասխան AI-ից
Go լեզվում ֆունկցիան ինքնուրույն կոդի բլոկ է, որը կարելի է կանչել անունով և որը կարող է ընդունել պարամետրեր և վերադարձնել արժեքներ:
Մեթոդը՝ դա ֆունկցիա է, որը կապված է որոշակի տիպի (օրինակ՝ կառուցվածքի) հետ: Մեթոդը հայտարարվում է ընդունող (receiver) միջոցով, որը որոշում է, թե որ տիպին է պատկանում:
Օգտագործման առանձնահատկություններ՝
- Մեթոդը թույլ է տալիս աշխատել կոնկրետ տիպի տվյալների հետ, օգտագործելով ընդունողը մեթոդի մարմնում:
- Մեթոդները օգնում են կոդը կազմակերպել և իրականացնել վարքագիծ տիպերի համար, ինչը մոտեցնում է Go-ն օբյեկտ-կողմնորոշված ոճին:
Օրինակ՝
package main
import "fmt"
type Person struct {
Name string
}
// Մեթոդ՝ ընդունողով, որը կապված է Person տիպի հետ
func (p Person) Greet() {
fmt.Println("Բարև, իմ անունը", p.Name)
}
// Սովորական ֆունկցիա
func Add(a, b int) int {
return a + b
}
func main() {
p := Person{Name: "Ivan"}
p.Greet() // մեթոդի կանչում
fmt.Println(Add(2, 3)) // ֆունկցիայի կանչում
}