Contenu du cours
Introduction à Golang
Introduction à Golang
Passer des Tableaux dans des Fonctions
Une fonctionnalité précieuse est la capacité de passer des tableaux dans des fonctions afin que nous puissions utiliser ces tableaux dans d'autres portées, surtout lorsqu'ils sont déclarés localement.
La syntaxe générale pour un argument de tableau dans une fonction est la suivante :
L'implémentation de cela dans une fonction ressemblerait à ceci :
index
func myFunc(arr [5] int) { // code here }
L'exemple suivant démontre le passage d'un tableau dans une fonction et son utilisation :
index
package main import "fmt" func sumOfAll(arr [10] int) int { total := 0 for i := 0; i < 10; i++ { total += arr[i] } return total } func main() { var numbers = [10] int { 1, 3, 5, 7, 9, 11, 13, 15, 17, 19 } fmt.Printf("Sum: %d", sumOfAll(numbers)) }
En Go (Golang), les tableaux sont toujours passés par valeur dans les fonctions. Cela signifie que lorsque nous passons un tableau dans une fonction, une copie locale du tableau original est créée à l'intérieur de la fonction. Par conséquent, toute modification apportée au tableau à l'intérieur de la fonction n'affectera pas le tableau original car les données accessibles à l'intérieur de la fonction sont une copie du tableau original.
Le programme suivant illustre que les modifications apportées au tableau dans la fonction n'affectent pas le tableau original :
index
package main import "fmt" func myFunc(nums [3] int) { nums[1] = 10 } func main() { var values = [3] int {1, 2, 3} fmt.Println("Before:", values) myFunc(values) fmt.Println("After: ", values) }
Remarque
Contrairement au passage par valeur, il existe le concept de passage par référence, où une référence au tableau ou à la variable est passée dans la fonction. Par conséquent, modifier la valeur à l'intérieur de la fonction modifie également la source. Dans certains langages de programmation, les tableaux sont passés par référence par défaut.
Merci pour vos commentaires !