title: Slices in Go: why does it allow appending more than the capacity allows?
body: <p>The <strong>capacity</strong> parameter in making a <code>slice</code> in Go does not make much sense to me. For example, </p>
  
  <pre><code>aSlice := make([]int, 2, 2) //a new slice with length and cap both set to 2
  aSlice = append(aSlice, 1, 2, 3, 4, 5) //append integers 1 through 5
  fmt.Println("aSlice is: ", aSlice)  //output [0, 0, 1, 2, 3, 4, 5]
  </code></pre>
  
  <p>If the slice allows inserting more elements than the capacity allows, why do we need to set it in the make() function?</p>