Sobes.tech
Junior — Middle

Magyarázza el a zárójelek működési mechanizmusát a programozásban.

sobes.tech MI

Válasz az MI-től

A programozásban a zárójel (closure) egy olyan függvény, amely "emlékszik" és képes használni a külső környezetéből származó változókat, még akkor is, ha ez a külső függvény már befejeződött.

Go nyelvben a zárójeleket gyakran hoznak létre névtelen függvények segítségével, amelyek hozzáférnek a környező kontextus változóihoz. Ez lehetővé teszi az állapot megőrzését a függvényhívások között.

Példa:

package main
import "fmt"

func számláló() func() int {
    count := 0
    return func() int {
        count++
        return count
    }
}

func main() {
    c := számláló()
    fmt.Println(c()) // 1
    fmt.Println(c()) // 2
    fmt.Println(c()) // 3
}

Itt a számláló függvény egy olyan zárójelet ad vissza, amely növeli és visszaadja a count értékét. A count változó a zárójelben marad a hívások között.