Sobes.tech
Junior — Middle

Hoe worden argumenten doorgegeven aan functies in de programmeertaal Go?

sobes.tech AI

Antwoord van AI

In de programmeertaal Go worden argumenten in functies door waarde doorgegeven. Dit betekent dat bij het aanroepen van een functie kopieën van de argumentwaarden worden doorgegeven, en dat wijzigingen binnen de functie de originele variabelen niet beïnvloeden.

Als je de waarde van een variabele wilt wijzigen vanuit de aanroepende code, geef je een pointer naar die variabele door. De functie ontvangt dan het adres en kan de waarde op dat adres wijzigen.

Voorbeeld van doorgeven door waarde en doorgeven door pointer:

package main
import "fmt"

func incrementByValue(x int) {
    x = x + 1
}

func incrementByPointer(x *int) {
    *x = *x + 1
}

func main() {
    a := 5
    incrementByValue(a)
    fmt.Println(a) // Drukt 5 af, omdat door waarde doorgegeven

    incrementByPointer(&a)
    fmt.Println(a) // Drukt 6 af, omdat door pointer doorgegeven
}