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

Comment puis-je convertir un tableau Go en tranche ?

Linda Hamilton
Libérer: 2024-12-16 22:12:14
original
544 Les gens l'ont consulté

How Can I Convert a Go Array to a Slice?

Conversion de tableaux en tranches dans Go

Lorsque vous travaillez avec des tableaux et des tranches dans Go, il peut être nécessaire d'effectuer une conversion entre les deux types de données . Cela peut être utile lors de la transmission de données entre des fonctions qui attendent différents types d'entrée.

Supposons que vous ayez une fonction qui renvoie un tableau d'octets :

func Foo() [32]byte { ... }
Copier après la connexion

Vous devrez peut-être transmettre ce résultat à une autre fonction qui attend une tranche d'octets :

func Bar(b []byte) { ... }
Copier après la connexion

Si vous essayez simplement d'appeler Bar(d) où d est le tableau renvoyé par Foo, vous obtiendrez une erreur de conversion de type. En effet, les tableaux et les tranches sont de types différents dans Go.

Pour convertir un tableau en tranche, vous pouvez utiliser la syntaxe [:]. Cela créera une tranche qui référence les données du tableau sous-jacent. Par exemple :

d := Foo()
Bar(d[:])
Copier après la connexion

Cela transmettra une tranche de données du tableau d à la fonction Bar. La tranche fera référence au même tampon sous-jacent que le tableau, donc aucune copie de données n'aura lieu.

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