Maison >développement back-end >Golang >Comment puis-je convertir une tranche en tableau dans Go ?

Comment puis-je convertir une tranche en tableau dans Go ?

Susan Sarandon
Susan Sarandonoriginal
2024-12-08 01:09:13474parcourir

How Can I Convert a Slice to an Array in Go?

Conversion de tranches en tableaux dans Go

En essayant de développer un lecteur de fichiers RPM, vous pourriez rencontrer le besoin d'attribuer une tranche à un champ de tableau dans une structure. Cela peut être une tâche délicate dans Go, car il n'existe pas de méthode intégrée de conversion directe.

Pour contourner cette limitation, envisagez les options suivantes :

Utiliser la copie avec a Slice Pretense :

La méthode de copie peut être amenée à copier une tranche dans un tableau en créant une tranche temporaire avec le même tableau sous-jacent que la cible tableau.

varLead := Lead{}
magicSlice := someSlice[0:4] // Create a temporary slice that references the array underlying the array field
copy(varLead.Magic[:], magicSlice)

Affectation manuelle basée sur une boucle :

Vous pouvez également parcourir la tranche et attribuer manuellement chaque élément à l'élément de tableau correspondant.

for index, b := range someSlice {

    varLead.Magic[index] = b

}

Conversion littérale :

Si le tableau la taille est fixe, vous pouvez utiliser des valeurs littérales pour initialiser le tableau directement.

type Lead struct {
  Magic [4]byte
  // Other fields...
}
lead := Lead{
  Magic: [4]byte{0x12, 0x34, 0x56, 0x78},
}

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