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!