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
Libérer: 2024-12-08 01:09:13
original
514 Les gens l'ont consulté

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)
Copier après la connexion

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

}
Copier après la connexion

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},
}
Copier après la connexion

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!

source:php.cn
Déclaration de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal