Sobes.tech
Junior — Middle

Hoe kun je een functie als argument doorgeven om binnen een andere functie te worden aangeroepen?

sobes.tech AI

Antwoord van AI

In Go zijn functies first-class waarden, dus kunnen ze als argumenten aan andere functies worden doorgegeven.

Voorbeeld van het doorgeven van een functie aan een andere functie:

package main

import "fmt"

// Functie die een andere functie als argument accepteert
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) // Print 7
}

Hier accepteert applyOperation twee getallen en een functie op, die de operatie op deze getallen definieert. In main geven we een anonieme optelfunctie door.

Dus, om een functie door te geven in Go, is het voldoende om het argumenttype te specificeren als func(...) ... en de gewenste functie bij het aanroepen door te geven.