Sobes.tech
Junior — Middle

Pouvez-vous expliquer ce que sont les types passés par référence dans les langages de programmation?

sobes.tech IA

Réponse de l'IA

Dans les langages de programmation, les types passés par référence signifient que lors du passage d’une variable à une fonction ou une méthode, ce n’est pas une copie de la valeur qui est transmise, mais une référence (pointeur) vers les données originales. Les modifications à l’intérieur de la fonction affecteront l’objet original.

En Go, les types primitifs (int, float, bool) sont passés par valeur, tandis que les types complexes, tels que les slices, les maps, les pointeurs, les channels et les interfaces, sont passés par référence.

Exemple de passage d’un slice par référence :

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

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

Ici, la fonction reçoit une référence au slice, donc les modifications à l’intérieur de la fonction se reflètent sur le slice original. Cela permet de travailler efficacement avec de grandes structures de données sans copie.