Maison > Article > développement back-end > Comment déplacer des éléments entre les positions dans une 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 :
<code class="go">slice = append(slice[:1], slice[2:]...)</code>
<code class="go">newSlice := append(slice[:4], 1)</code>
<code class="go">slice = append(newSlice, slice[4:]...)</code>
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>
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>
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!