Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Apprendre Passage de Tableaux dans des Fonctions | Tableaux et Slices
Introduction à Golang

bookPassage 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

index.go

copy
123
func myFunc(arr [5] int) { // code here }

L'exemple suivant illustre le passage d'un tableau à une fonction et son utilisation :

index.go

index.go

copy
123456789101112131415
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 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

index.go

copy
12345678910111213
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 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.

question mark

Quel est le code approprié pour le paramètre de la fonction myFunc :

Select the correct answer

Tout était clair ?

Comment pouvons-nous l'améliorer ?

Merci pour vos commentaires !

Section 5. Chapitre 8

Demandez à l'IA

expand

Demandez à l'IA

ChatGPT

Posez n'importe quelle question ou essayez l'une des questions suggérées pour commencer notre discussion

Suggested prompts:

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

bookPassage 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

index.go

copy
123
func myFunc(arr [5] int) { // code here }

L'exemple suivant illustre le passage d'un tableau à une fonction et son utilisation :

index.go

index.go

copy
123456789101112131415
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 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

index.go

copy
12345678910111213
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 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.

question mark

Quel est le code approprié pour le paramètre de la fonction myFunc :

Select the correct answer

Tout était clair ?

Comment pouvons-nous l'améliorer ?

Merci pour vos commentaires !

Section 5. Chapitre 8
some-alt