Comprendre Slice sous-jacent la récupération du tableau dans Go
dans Go, une tranche est une structure de données flexible qui fournit une abstraction sur un tableau. Lorsque vous travaillez avec des tranches, il peut être nécessaire d'accéder au tableau sous-jacent. Cet article explique la mécanique derrière ce processus et comment récupérer la référence au nouveau tableau.
Considérons une tranche de lice dérivée d'un tableau des numéros comme présenté dans la question d'origine. Par défaut, NUMSLICE et NUMS partagent le même tableau sous-jacent. Cependant, ce tableau sous-jacent peut changer lorsque la capacité de la tranche est dépassée pendant les opérations telles que les éléments d'appel. Voici comment:
Utilisation de réflect unsetafe.pointer HDR: = (* Reflect.SliceHeader) (disApE.Pointer (& s)) data: = * (* [4] int) (disfe.pointer (hdr.data))
Remarque: En raison de l'utilisation de dangereuse, il est essentiel de gérer la gestion de la mémoire prudemment. [ici] (https://blog.golang.org/go-slices-usage-and-internals).
Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.
Copyright© 2022 湘ICP备2022001581号-3