Maison > développement back-end > Golang > le corps du texte

Comment déplacer des éléments entre les positions dans une Go Slice ?

Linda Hamilton
Libérer: 2024-11-01 06:09:02
original
597 Les gens l'ont consulté

How Do You Move Elements Between Positions in a Go Slice?

Manipulation des éléments de tranche dans Go : déplacer des éléments entre les positions

Dans Go, il est possible de modifier la position d'un élément dans une tranche. Cependant, cette tâche nécessite une approche légèrement différente par rapport aux autres langages de programmation.

Considérons le scénario suivant : vous disposez d'une tranche appelée slice et vous souhaitez déplacer l'élément de l'index 1 vers l'index 4. Pour y parvenir , vous devrez suivre ces étapes :

  1. Supprimez l'élément de sa position actuelle à l'aide de la fonction d'ajout. Cela se traduit par une nouvelle tranche avec l'élément exclu :
<code class="go">slice = append(slice[:1], slice[2:]...)</code>
Copier après la connexion
  1. Créez une nouvelle tranche appelée newSlice qui inclut l'élément à la position souhaitée :
<code class="go">newSlice := append(slice[:4], 1)</code>
Copier après la connexion
  1. Ajoutez les éléments restants de la tranche après l'élément inséré pour créer la tranche finale :
<code class="go">slice = append(newSlice, slice[4:]...)</code>
Copier après la connexion

Cette approche garantit que la tranche d'origine est modifiée correctement. Dans votre code d'origine, vous avez commis une erreur à l'étape 2 en ajoutant 1 au début de newSlice, ce qui entraîne un résultat incorrect.

Pour simplifier le processus de déplacement d'éléments dans une tranche, envisagez d'utiliser une fonction d'assistance telle que celle ci-dessous :

<code class="go">func moveInt(array []int, srcIndex int, dstIndex int) []int {
    value := array[srcIndex]
    return insertInt(removeInt(array, srcIndex), value, dstIndex)
}</code>
Copier après la connexion

Cette fonction encapsule les étapes ci-dessus et prend trois arguments : la tranche à modifier, l'index source et l'index de destination.

En utilisant cette fonction, vous peut simplifier votre code pour déplacer un élément dans une tranche :

<code class="go">slice = moveInt(slice, 1, 4)</code>
Copier après la connexion

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
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!