Maison > développement back-end > Golang > Comment puis-je allouer des tableaux de taille non constante dans Go ?

Comment puis-je allouer des tableaux de taille non constante dans Go ?

Patricia Arquette
Libérer: 2024-12-13 05:34:08
original
485 Les gens l'ont consulté

How Can I Allocate Non-Constant Size Arrays in Go?

Allocation de tableaux de taille non constante dans Go : les tranches à la rescousse

Contrairement à d'autres langages, Go ne permet pas l'allocation de tableaux avec une dynamique tailles directement. Lorsque vous essayez de créer un tableau avec une taille variable, telle que var a [n]int, vous rencontrerez une erreur de compilation.

Cette restriction n'est pas une limitation mais plutôt une poussée vers l'utilisation de tranches. , une structure de données plus flexible et plus puissante dans Go. Les tranches sont similaires aux tableaux, mais elles ont une taille dynamique qui peut être ajustée au moment de l'exécution.

Pour allouer un tableau à l'aide de tranches, vous pouvez utiliser la fonction make, qui crée à la fois une tranche et le tableau sous-jacent :

n := 12
s := make([]int, n, 2*n)
Copier après la connexion

Dans cet exemple, s est une tranche d'entiers, et un nouveau tableau de taille 2*n est alloué pour stocker les éléments de la tranche. La tranche s fait initialement référence à la première moitié du tableau.

Cette méthode offre à la fois la flexibilité d'ajuster dynamiquement la taille du tableau et les avantages de travailler avec des tableaux, tels que l'allocation de mémoire contiguë garantie. Par conséquent, il est courant dans Go de s'appuyer sur des tranches plutôt que sur des tableaux pour la gestion dynamique des données.

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!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal