Maison > développement back-end > Golang > Comment convertir une Go Slice en un tableau de taille fixe ?

Comment convertir une Go Slice en un tableau de taille fixe ?

DDD
Libérer: 2024-11-26 00:18:11
original
451 Les gens l'ont consulté

How to Convert a Go Slice to a Fixed-Sized Array?

Conversion d'une tranche en un tableau de taille fixe

Lorsque vous travaillez avec des tranches et des tableaux de taille fixe dans Go, il est important de comprendre comment effectuer conversions entre eux. Cela peut être particulièrement utile lorsque vous devez travailler avec des bibliothèques ou des interfaces externes qui attendent des tableaux de taille fixe.

Le problème survient lorsque vous tentez d'attribuer directement une tranche à un tableau de taille différente. Comme le montre l'exemple fourni, cela entraîne une erreur d'incompatibilité de type.

Pour convertir une tranche en un tableau de taille fixe, la fonction "copier" peut être utilisée. Cette fonction prend deux arguments : un tableau de destination et une tranche source. Il copie le contenu de la tranche source dans le tableau de destination, jusqu'au minimum de leurs longueurs.

Par exemple :

slice := []byte("abcdefgh")
var arr [4]byte

copy(arr[:], slice[:4])

fmt.Println(arr)
// Output: [97 98 99 100]
Copier après la connexion

Ici, la fonction de copie est utilisée pour copier le premier quatre octets de la tranche dans le tableau arr. Étant donné que la tranche source est plus grande que le tableau de destination, seuls les quatre premiers octets sont copiés.

Une autre approche consiste à utiliser la fonction de copie sans spécifier la longueur de la tranche source. Cela copiera automatiquement l'intégralité de la tranche source dans le tableau de destination :

copy(arr[:], slice)

fmt.Println(arr)
// Output: [97 98 99 100]
Copier après la connexion

En résumé, l'utilisation de la fonction de copie fournit une méthode fiable et efficace pour convertir une tranche en un tableau de taille fixe dans Go, garantissant que le tableau contient le sous-ensemble souhaité d'éléments de la tranche.

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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal