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
Linda Hamiltonoriginal
2024-12-16 22:12:14552parcourir

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 { ... }

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

func Bar(b []byte) { ... }

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[:])

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!

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