Maison  >  Article  >  développement back-end  >  Comment convertir un tableau de taille fixe en tranche en Go ?

Comment convertir un tableau de taille fixe en tranche en Go ?

Susan Sarandon
Susan Sarandonoriginal
2024-11-09 11:49:02288parcourir

How to Convert a Fixed-Size Array to a Slice in Go?

Conversion d'un tableau de taille fixe en tableau de taille variable dans Go

Lorsque vous travaillez avec des tableaux dans Go, il est souvent nécessaire de convertir des tableaux de taille fixe en tableau de taille variable tableaux de taille unique (tranches). Cependant, tenter d'attribuer directement un tableau de taille fixe à une tranche peut entraîner une erreur, comme le montre l'exemple ci-dessous :

package main

import (
    "fmt"
)

func main() {
    var a [32]byte
    b := []byte(a)
    fmt.Println(" %x", b)
}

Le compilateur générerait une erreur :

./test.go:9: cannot convert a (type [32]byte) to type []byte

Pour réussir à convertir un tableau de taille fixe en tranche, vous pouvez utiliser l'expression b := a[:]. Cela créera une tranche qui fait référence au tableau sous-jacent, sans en faire une copie :

b := a[:]

Ressources supplémentaires :

Référez-vous au billet de blog suivant pour une discussion détaillée sur les différences entre les tableaux et les tranches dans Go :

  • [Arrays vs Slices in Go](https://blog.logrocket.com/understanding-arrays-versus-slices-in-go/)

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