Maison > Article > développement back-end > Comment convertir un tableau de taille fixe en tranche de taille variable dans Go ?
Lorsque vous travaillez avec des tableaux et des tranches dans Go, il est essentiel de comprendre leurs différences. Les tableaux sont des structures de données de taille fixe, tandis que les tranches sont de taille variable et plus flexibles.
Dans l'exemple donné, vous essayez de convertir un tableau de taille fixe de 32 octets ([32]byte) en une tranche de taille variable ([]byte). Cependant, tenter cela directement avec b := []byte(a) entraînera une erreur de compilation.
Pour réussir à convertir un tableau de taille fixe en une tranche de taille variable, suivez cette syntaxe :
b := a[:]
En utilisant la syntaxe a[:], vous créez une tranche qui fait référence aux éléments du tableau sous-jacents. C'est ce qu'on appelle « découper » un tableau. La tranche b résultante aura les mêmes éléments que le tableau d'origine a mais se comportera comme une tranche de taille variable, vous permettant de modifier sa longueur de manière dynamique.
package main import ( "fmt" ) func main() { var a [32]byte b := a[:] fmt.Println(len(b)) //prints 32, indicates the initial length of b matches array a b = b[5:] //slicing the slice b, modifies its length fmt.Println(len(b)) //prints 27, indicating the new length of b after slicing }
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!