title: Delete element in a slice
body: <pre><code>func main() {
      a := []string{"Hello1", "Hello2", "Hello3"}
      fmt.Println(a)
      // [Hello1 Hello2 Hello3]
      a = append(a[:0], a[1:]...)
      fmt.Println(a)
      // [Hello2 Hello3]
  }
  </code></pre>
  
  <p>How does this delete trick with the append function work?</p>
  
  <p>It would seem that it's grabbing everything before the first element (empty array)</p>
  
  <p>Then appending everything after the first element (position zero)</p>
  
  <p>What does the ... (dot dot dot) do?</p>