English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Dans le langage de programmation GoTableauTrès similaire à d'autres langages de programmation. Dans un programme, nous avons parfois besoin de stocker un ensemble de données de même type, par exemple une liste de notes d'étudiants. Ce type de collection est stocké dans un programme en utilisant un tableau. Un tableau est une séquence de longueur fixe, utilisée pour stocker des éléments de même type en mémoire. Le langage de programmation Go ne fournit pas de fonction intégrée spécifique pour copier un tableau dans un autre. Mais nous pouvons créer une copie du tableau simplement en assignant le tableau à une nouvelle variable par valeur ou par référence.
Si nous créons une copie du tableau par valeur et faisons des modifications aux valeurs de l'array original, ces modifications ne se refléteront pas dans la copie du tableau. Et si nous créons une copie du tableau par référence et faisons des modifications aux valeurs de l'array original, ces modifications se refléteront dans la copie du tableau. Comme dans les exemples suivants :
Syntaxe :
//Créer une copie du tableau par valeur arr := arr1 //Créer une copie du tableau par référence arr := &arr1
Permettons de discuter de ce concept à l'aide d'un exemple :
Exemple1:
//Copie du tableau par valeur package main import "fmt" func main() { //Création et initialisation du tableau //Déclaration abrégée my_arr1 : = [5Là, les éléments sont passés par valeur //Copier le tableau dans une nouvelle variable //: = my_arr my_arr2 my_arr1 fmt.Println("Array_1:1) fmt.Println("Array_2:2) my_arr1[0] = "C++" //Là, lors de la copie du tableau //Inséré par valeur dans un autre tableau //Puis, modifications du contenu original //Le tableau ne se reflétera pas dans //La copie de cet tableau my_arr1:1) fmt.Println("Array_2:2) }
Sortie :
Array_1: Array_2: Array_1:++ Scala Perl Java Python Go Array_2:
Exemple de copie du tableau par référence :
//Copie du tableau par référence package main import "fmt" func main() { //Création et initialisation du tableau //Déclaration abrégée my_arr1 : = [6]int{12, 456, 67, 65, 34, 34} //Copier le tableau dans une nouvelle variable //Là, les éléments sont passés par référence my_arr2 : = &my_arr1 fmt.Println("Array_1:1) fmt.Println("Array_2:" *my_arr2) my_arr1[5] = 1000000 //Là, lors de la copie du tableau //En plaçant par référence dans un autre tableau //Puis, modifications du contenu original //Le tableau se reflétera dans //La copie de cet tableau my_arr1:1) fmt.Println("Array_2:" *my_arr2) }
Sortie :
Array_1:12 456 67 65 34 34] Array_2: [12 456 67 65 34 34] Array_1:12 456 67 65 34 1000000] Array_2: [12 456 67 65 34 1000000]