"Si un ouvrier veut bien faire son travail, il doit d'abord affûter ses outils." - Confucius, "Les Entretiens de Confucius. Lu Linggong"
Page de garde > La programmation > Comment fonctionne l'algorithme d'agrandissement de la tranche de GO?

Comment fonctionne l'algorithme d'agrandissement de la tranche de GO?

Publié le 2025-03-22
Parcourir:820

How does Go\'s Slice Enlargement Algorithm Work?

algorithme d'agrandissement de la tranche

Lors de l'ajout d'éléments en tranche, il peut avoir besoin d'élargir sa capacité. L'algorithme spécifique utilisé pour cet élargissement n'est pas explicitement défini dans les spécifications Go. Repository:

https://github.com/golang/go/blob/master/src/runtime/slice.go

Règles implémentées

https://github.com/golang/go/blob/master/src/runtime/slice.go

Doublage:

Si l'ajout d'éléments à la tranche augmentera sa longueur de plus de doubler sa longueur d'origine, la nouvelle capacité est définie directement sur la nouvelle longueur.

  1. Doublage incrémentiel: pendant moins de 1024, la capacité est doublée jusqu'à ce qu'elle soit suffisante. Pour les longueurs supérieures à 1024, la capacité est augmentée de 25% chaque itération. De plus, ces heuristiques sont susceptibles de changer dans les futures versions GO, il est donc recommandé de consulter la dernière implémentation pour les informations les plus récentes.
Dernier tutoriel Plus>

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