Maison > développement back-end > Golang > Comment insérer des valeurs dans une tranche Go à un index donné ?

Comment insérer des valeurs dans une tranche Go à un index donné ?

Patricia Arquette
Libérer: 2024-11-15 08:50:02
original
787 Les gens l'ont consulté

How do you insert values into a Go slice at a given index?

Insérer des valeurs dans une tranche à un index donné

Dans Go, l'insertion de valeurs dans une tranche à un index spécifique nécessite un examen attentif des la longueur de la tranche, sa capacité et si l'index se situe dans ses limites.

Insertion à un index disponible

Si l'index que vous souhaitez insérer est dans la plage de les éléments existants de la tranche, vous pouvez utiliser l'approche suivante :

Cette approche :

  1. Crée une nouvelle tranche composée des éléments avant et après le point d'insertion (à l'exclusion du élément au point d'insertion).
  2. Insère la nouvelle valeur à l'index souhaité.

Insertion à un nouvel index

Si l'élément L'index auquel vous souhaitez insérer est supérieur à la longueur actuelle de la tranche, vous devez augmenter la capacité de la tranche pour accueillir le nouvel élément.

Cette approche :

  1. Vérifie si l'index dépasse la capacité de la tranche et, si nécessaire, crée une nouvelle tranche avec le double de la capacité.
  2. Insère la nouvelle valeur à l'index souhaité.

Insérer à la fin de la tranche

Pour insérer à la fin de la tranche, vous pouvez simplement ajouter la nouvelle valeur :

Utiliser les 'tranches' Package (pour Go 1.21)

Pour Go version 1.21 et supérieure, vous pouvez utiliser la fonction slices.Insert() du package github.com/golang/exp/slices :

Exemple :

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 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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal