Passage de Tableaux dans des Fonctions
Une fonctionnalité précieuse est la possibilité de passer des tableaux en argument à des fonctions, ce qui permet d'utiliser ces tableaux dans d'autres portées, en particulier lorsqu'ils sont déclarés localement.
La syntaxe générale pour un argument de type tableau dans une fonction est la suivante :
argName [expectedArraySize] dataType
L'implémentation dans une fonction ressemblerait à ceci :
index.go
123func myFunc(arr [5] int) { // code here }
L'exemple suivant illustre le passage d'un tableau à une fonction et son utilisation :
index.go
123456789101112131415package 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 aux fonctions. Cela signifie que lorsqu'un tableau est passé à 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 manipulées dans la fonction sont une copie du tableau d'origine.
Le programme suivant montre que les modifications effectuées sur le tableau dans la fonction n'ont aucun effet sur le tableau original :
index.go
12345678910111213package 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 transmise à 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 transmis par référence par défaut.
Merci pour vos commentaires !
Demandez à l'IA
Demandez à l'IA
Posez n'importe quelle question ou essayez l'une des questions suggérées pour commencer notre discussion
Can you explain the difference between passing by value and passing by reference in more detail?
Are there ways to modify the original array inside a function in Go?
Can you show an example of passing an array by reference in Go?
Awesome!
Completion rate improved to 1.96
Passage de Tableaux dans des Fonctions
Glissez pour afficher le menu
Une fonctionnalité précieuse est la possibilité de passer des tableaux en argument à des fonctions, ce qui permet d'utiliser ces tableaux dans d'autres portées, en particulier lorsqu'ils sont déclarés localement.
La syntaxe générale pour un argument de type tableau dans une fonction est la suivante :
argName [expectedArraySize] dataType
L'implémentation dans une fonction ressemblerait à ceci :
index.go
123func myFunc(arr [5] int) { // code here }
L'exemple suivant illustre le passage d'un tableau à une fonction et son utilisation :
index.go
123456789101112131415package 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 aux fonctions. Cela signifie que lorsqu'un tableau est passé à 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 manipulées dans la fonction sont une copie du tableau d'origine.
Le programme suivant montre que les modifications effectuées sur le tableau dans la fonction n'ont aucun effet sur le tableau original :
index.go
12345678910111213package 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 transmise à 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 transmis par référence par défaut.
Merci pour vos commentaires !