Middle
რა არის დახურვა Go-ში?
sobes.tech AI
პასუხი AI-სგან
Go-ში დახურვა არის ფუნქცია, რომელიც "მახსოვს" გარემოს მნიშვნელობებს, მიუხედავად იმისა, რომ გარეგანი ფუნქცია დასრულდა. ეს საშუალებას აძლევს გარე ცვლადების დაჭერას და გამოყენებას შიგნით.
// გარეგანი ფუნქცია
func makeCounter() func() int {
count := 0 // ცვლადი, რომელიც დაიჭრება
// შიდა ფუნქცია (დახურვა)
return func() int {
count++ // დავიჭიროთ და შევცვალოთ count
return count
}
}
// გამოყენების მაგალითი
func main() {
counter1 := makeCounter() // პირველი დახურვის შექმნა
fmt.Println(counter1()) // გამოყვანა: 1
fmt.Println(counter1()) // გამოყვანა: 2
counter2 := makeCounter() // მეორე დახურვის შექმნა (საკუთარი count-ით)
fmt.Println(counter2()) // გამოყვანა: 1
}