Maison >développement back-end >Golang >Comment déterminer si une variable est une tranche ou un tableau en langage Go
Comment déterminer si une variable est une tranche ou un tableau en langage Go : 1. Déterminez si la longueur de la variable ne peut pas être modifiée lorsqu'elle est déterminée. Si elle ne peut pas être modifiée, cela signifie que la variable. est un tableau tableau ; 2. Définissez une longueur entre parenthèses. La valeur, avec la valeur de longueur est un tableau, sans la valeur de longueur est une tranche.
L'environnement d'exploitation de ce tutoriel : système Windows 7, Go version 1.11.2, ordinateur Dell G3.
Recommandé : "Tutoriel du langage Go"
Déterminer si une variable est un tableau ou une tranche en Golang
Array La différence entre Slice et Slice
La plus grande différence entre les deux est qu'une fois la longueur du tableau déterminée, elle ne peut pas être modifiée, ne peut pas être allongée ou ne peut pas être raccourcie. Capacité d’échelle de découpage. Et le tableau est un type valeur, lors de l'attribution d'un tableau à un autre tableau, une copie de valeur se produit, tandis que la tranche est un type pointeur et le pointeur est copié.
Ce qui suit est expliqué à travers un exemple :
Le code est comme indiqué ci-dessous, (1) définit un tableau de type [3]int et attribue des valeursà 1, 2 , et 3 dans l'ordre. (2) Attribuez le tableau a à b et la copie de la valeur se produira. (3) L'attribution de la valeur 4 à l'élément en indice 2 du tableau a n'affectera pas le contenu du tableau b. (4) Imprimez les résultats pour expliquer la situation.
En regardant un autre morceau de code : (1) La longueur n'est pas spécifiée, (2) Le résultat est imprimé, montrant que la modification de a affecte le contenu de b .
Pourquoi un changement subtil fait-il une telle différence ? C'est la différence subtile de syntaxe lors de la définition de Array et Slice :
Définir une valeur de longueur entre parenthèses est la seule base permettant au compilateur de distinguer le type de données de la variable a, Avec la valeur de longueur, c'est un tableau, et sans elle, c'est une tranche.
Retour à la question, comment distinguer les variables suivantes :
var a1 []int --->gt; Sans définition de longueur, c'est Slice
var a2 [ 2]int ---> Il existe une définition de longueur, qui est Array
var a3 [3]*int---> >var a4 [4][ 3]int ---> Il a une définition de longueur et est un tableau, qui n'est qu'un tableau à deux dimensions.
Pour plus de connaissances liées à la programmation, veuillez visiter :
Enseignement de la programmationCe 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!