Sobes.tech
Junior — Middle

Kunt u uitleggen wat types die per referentie worden doorgegeven in programmeertalen zijn?

sobes.tech AI

Antwoord van AI

In programmeertalen betekenen types die per referentie worden doorgegeven dat, wanneer een variabele aan een functie of methode wordt doorgegeven, niet een kopie van de waarde wordt doorgegeven, maar een verwijzing (pointer) naar de originele gegevens. Veranderingen binnen de functie zullen het originele object beïnvloeden.

In Go worden primitieve types (int, float, bool) per waarde doorgegeven, terwijl complexe types zoals slices, maps, pointers, kanalen en interfaces per referentie worden doorgegeven.

Voorbeeld van het doorgeven van een slice per referentie:

func modifySlice(s []int) {
    s[0] = 100
}

func main() {
    nums := []int{1, 2, 3}
    modifySlice(nums)
    fmt.Println(nums) // Print: [100 2 3]
}

Hier ontvangt de functie een referentie naar de slice, dus veranderingen binnen de functie worden weerspiegeld in de originele slice. Dit maakt het mogelijk om efficiënt te werken met grote datastructuren zonder te kopiëren.