title: Moving an slice item from one position to another in go
body: <p>I' trying to move an item from one position to another inside a slice. <a href="https://play.golang.org/p/JsYZ6TgKWQ" rel="noreferrer">Go Playground</a></p>
  
  <pre><code>indexToRemove := 1
  indexWhereToInsert := 4
  
  slice := []int{0,1,2,3,4,5,6,7,8,9}    
  
  slice = append(slice[:indexToRemove], slice[indexToRemove+1:]...)
  fmt.Println("slice:", slice)    
  
  newSlice := append(slice[:indexWhereToInsert], 1)
  fmt.Println("newSlice:", newSlice)
  
  slice = append(newSlice, slice[indexWhereToInsert:]...)
  fmt.Println("slice:", slice)
  </code></pre>
  
  <p>This produces to following output:</p>
  
  <pre><code>slice: [0 2 3 4 5 6 7 8 9]
  newSlice: [0 2 3 4 1]
  slice: [0 2 3 4 1 1 6 7 8 9] 
  </code></pre>
  
  <p>But I would expect the output be like this:</p>
  
  <pre><code>slice: [0 2 3 4 5 6 7 8 9]
  newSlice: [0 2 3 4 1]
  slice: [0 2 3 4 1 **5** 6 7 8 9] 
  </code></pre>
  
  <p>Where is my fault?</p>