Dans Golang, un tableau est une collection ordonnée de longueur fixe d'éléments du même type. Cependant, dans le développement réel, nous sommes susceptibles de rencontrer des situations dans lesquelles nous devons modifier les éléments du tableau.
Tout d'abord, il doit être clair qu'en Golang, les tableaux sont des types valeur. Cela signifie que si nous attribuons un tableau à un autre tableau ou transmettons un tableau en tant que paramètre, nous transmettons en fait une copie du tableau, et non le tableau d'origine lui-même. Par conséquent, si nous voulons modifier un élément du tableau, nous devons modifier le tableau d’origine, pas sa copie.
La manière la plus simple de modifier un élément dans un tableau est de référencer l'élément dans le tableau par index et d'attribuer une nouvelle valeur :
arr := [3]int{1, 2, 3} arr[0] = 4
Dans l'exemple ci-dessus, nous créé une longueur Pour un tableau d'entiers de 3, changez le premier élément de 1 à 4. Cette méthode est relativement simple et facile à comprendre, mais parfois nous devons opérer sur l'ensemble du tableau, auquel cas nous devons utiliser le pointeur de tableau.
En Golang, le type pointeur d'un tableau est un pointeur, pointant vers le premier élément du tableau. Vous pouvez obtenir le pointeur du tableau via l'opérateur "&" :
arr := [3]int{1, 2, 3} ptr := &arr[0] //指向arr数组的第一个元素
Dans l'exemple ci-dessus, nous avons créé un tableau d'entiers d'une longueur de 3 et attribué le pointeur de son premier élément à ptr. Ensuite, nous pouvons modifier l'ensemble du tableau en modifiant la valeur pointée par le pointeur ptr :
*ptr = 4 //修改第一个元素的值 *(ptr+1) = 5 //修改第二个元素的值 *(ptr+2) = 6 //修改第三个元素的值
Dans l'exemple ci-dessus, nous avons utilisé l'opérateur "", qui représente la prise du pointeur Le valeur indiquée. Grâce à l'opérateur "+", nous pouvons nous déplacer vers n'importe quelle position dans le tableau, puis modifier la valeur de cette position via l'opérateur "".
De plus, il existe une fonction intégrée dans Golang spécifiquement pour le traitement des tableaux - "copier". Cette fonction copie les éléments d'un tableau à un autre et renvoie le nombre d'éléments réellement copiés.
arr1 := [3]int{1, 2, 3} arr2 := [3]int{} //创建一个长度为3的空数组 num := copy(arr2[:], arr1[:]) //将arr1的元素复制到arr2中,并返回复制的元素数量
Dans l'exemple ci-dessus, nous avons créé deux tableaux d'entiers de longueur 3, copié les éléments de arr1 dans arr2 et renvoyé le nombre d'éléments copiés. Il convient de noter que nous utilisons l'opérateur "[:]" pour obtenir une tranche du tableau entier, copiant ainsi l'intégralité du tableau dans un autre tableau.
En général, il existe de nombreuses façons de modifier les éléments d'un tableau dans Golang. Dans des cas simples, nous pouvons référencer directement les éléments du tableau par index et attribuer de nouvelles valeurs. Dans des cas plus complexes, nous pouvons utiliser des pointeurs de tableau pour fonctionner, ou utiliser la fonction intégrée « copie » pour copier un tableau vers un autre tableau. Quoi qu'il en soit, sachez que les tableaux sont des types valeur et que vous devez modifier le tableau d'origine plutôt qu'une copie.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!