Sobes.tech
Junior — Middle

Ar Go kalboje galima perduoti funkciją kaip argumentą kitai funkcijai?

sobes.tech AI

Atsakymas iš AI

Taip, Go kalboje funkcijos yra pirmosios klasės reikšmės, todėl jas galima perduoti kaip argumentus kitoms funkcijoms, grąžinti iš funkcijų ir priskirti kintamiesiems.

Pavyzdys, kaip perduoti funkciją kaip argumentą:

package main
import "fmt"

func applyOperation(a, b int, op func(int, int) int) int {
    return op(a, b)
}

func main() {
    sum := func(x, y int) int { return x + y }
    result := applyOperation(3, 4, sum)
    fmt.Println(result) // Išves 7
}

Taip Go palaiko funkcionalaus programavimo stilių, perduodant funkcijas kaip parametrus.