Maison >développement back-end >Golang >Quelle est la différence entre les tableaux et les tranches en langage Go ?

Quelle est la différence entre les tableaux et les tranches en langage Go ?

青灯夜游
青灯夜游original
2020-12-08 17:12:3714547parcourir

Différences : 1. Les tranches sont des types pointeurs, les tableaux sont des types valeur ; 2. La longueur des tableaux est fixe, mais les tranches ne le sont pas (les tranches peuvent être considérées comme des tableaux dynamiques) ; que l'attribut arrays (cap) ; 4. La couche inférieure de la tranche est un tableau.

Quelle est la différence entre les tableaux et les tranches en langage Go ?

L'environnement d'exploitation de cet article : système Windows10, Go 1.11.2, ordinateur Thinkpad T480.

Recommandations associées : "aller au tutoriel"

Que produit le code suivant ? Que sera le résultat si les commentaires sont supprimés ?

package main

import (
   "fmt"
)
func main() {
   a := [2]int{5, 6}
   b := [2]int{5, 6}
   if a == b {
      fmt.Println("equal")
   } else {
      fmt.Println("not equal")
   }
   /*
      if a[:] == b[:] {
          fmt.Println("equal")
      } else {
          fmt.Println("not equal")
      }
   */
}

Sortie :

equal

Supprimer l'invite de commentaire :

invalid operation: a[:] == b[:] (slice can only be compared to nil)

Explication :

La différence entre les tableaux et les tranches dans le go langage

● Les tranches sont des types pointeurs, les tableaux sont des types valeur

● La longueur des tableaux est fixe, mais les tranches ne le sont pas (les tranches sont des tableaux dynamiques)

● Là il y a plus de tranches que de tableaux Un attribut : Capacité (cap)

● La couche inférieure de la tranche est un tableau

Par conséquent, a et b définissent des types de tableaux, et la comparaison des tableaux est la même

Cependant, a [:], b[:] sont des tranches. Un jugement d'égalité ne peut pas être effectué entre les tranches et ne peut être jugé qu'avec zéro.

Pour plus de connaissances sur la programmation, veuillez visiter la page. : Enseignement de la programmation ! !

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn