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!