Maison  >  Article  >  développement back-end  >  Concernant l'ancien tableau laissé de côté, lorsque Slice fait référence au tableau nouvellement créé, lorsque le plafond est dépassé dans Golang

Concernant l'ancien tableau laissé de côté, lorsque Slice fait référence au tableau nouvellement créé, lorsque le plafond est dépassé dans Golang

WBOY
WBOYavant
2024-02-10 21:33:08655parcourir

Concernant lancien tableau laissé de côté, lorsque Slice fait référence au tableau nouvellement créé, lorsque le plafond est dépassé dans Golang

L'éditeur php Youzi vous présentera un problème concernant l'omission d'anciens tableaux dans cet article et expliquera ce qui se passe lorsque le plafond est dépassé lorsque Slice fait référence à un tableau nouvellement créé dans Golang. Cette question implique les changements dynamiques de Slice et des tableaux. Pour les développeurs qui apprennent ou utilisent Golang, il s'agit d'un point de connaissance important qui doit être compris et maîtrisé. Grâce aux réponses contenues dans cet article, j'espère qu'il pourra aider tout le monde à mieux comprendre et appliquer ce concept.

Contenu de la question

Qu'arrive-t-il au tableau sous-jacent dans la tranche lorsqu'un nouveau tableau est créé et que la tranche ou toute autre variable ne fait plus référence à l'ancien tableau ?

Supposons que nous créions une tranche vide de longueur 3 et de limite supérieure de 4 Ensuite, lorsque nous essayons d'ajouter un élément qui dépasse la capacité de la tranche.

slice:=make([]int,3,4)
    slice = append(slice, 6,7) //exceeds the cap, when appending 7 
    fmt.Println(slice)

Dans le programme ci-dessus, qu'arrivera-t-il à l'ancien tableau puisqu'il n'est plus référencé par la tranche ou toute autre variable, sa mémoire sera-t-elle libérée ou restera-t-elle en mémoire jusqu'à ce que le programme termine son exécution ? p>

Solution de contournement

S'il n'y a aucune référence active nulle part dans ce tableau, elle sera récupérée. S'il existe au moins une référence à un élément du tableau, le tableau restera en mémoire jusqu'à ce que la référence disparaisse.

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:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer