Junior — Middle
Чӣ гуна механизмии мерос дар забони Go амалӣ мешавад ва чӣ гуна иҷро мешавад?
sobes.tech AI
Ҷавоб аз AI
Дар забони Go вуҷуд надорад наслеҳии классикӣ, ҳамчун дар забонҳои объектӣ-ба равишҳои. Ба ҷои он, истифода мешавад композиция ва интерфейсҳо.
-
Композиция: Ба ҷои наслеҳии структураҳо, шумо метавонед як структураро дар дигар дохил кунед. Ин имкон медиҳад, ки "даргардонии" рафтор ва маълумот.
-
Интерфейсҳо: Go барои тавсифи рафтор интерфейсҳоро истифода мебарад. Ҳар структурае, ки методҳои интерфейсро иҷро мекунад, ҳамчун иҷрои он ҳисобида мешавад.
Масалан, намунаи композиция:
package main
import "fmt"
type Animal struct {
Name string
}
func (a Animal) Speak() {
fmt.Println(a.Name, "мегӯяд")
}
type Dog struct {
Animal // дохил кардани структураи Animal
}
func main() {
d := Dog{Animal{Name: "Bobby"}}
d.Speak() // ба методи Animal даъват мекунад
}
Тавре ки мебинем, Go истифодаи композиция ва интерфейсҳоро дар ҷойи наслеҳии классикӣ ташвиқ мекунад.