Lors de l'ajout d'éléments à une tranche, il peut être nécessaire d'étendre sa capacité. L'algorithme spécifique utilisé pour cet élargissement n'est pas explicitement défini dans les spécifications Go.
Le code responsable du redimensionnement des tranches lors de l'opération d'ajout peut être trouvé dans le référentiel de code source Go :
https://github.com/golang/go/blob/master/src/runtime/slice.go
À partir de 2014-2020, les règles mises en œuvre sont :
Non, la capacité n'est pas toujours doublée lors de l'agrandissement d'une tranche.
Les stratégies décrites ci-dessus peuvent entraîner des augmentations variables de capacité en fonction de la longueur originale de la tranche. De plus, ces heuristiques sont susceptibles de changer dans les futures versions de Go, il est donc recommandé de consulter la dernière implémentation pour obtenir les informations les plus récentes.
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!