title: Why pointer of Array/Slice change in Go if len doesnt change?
body: <p>I made a program to learn more about arrays and slices, in this example I just change the value of a fix position. When I look to the pointer address it changed after each change. Why this happen?</p>
  
  <p><strong>Source:</strong></p>
  
  <pre><code>func main() {
      tstSlice2()
  
  }
  
  func tstSlice2() {
      var meuSlice = make([]int, 1, 2)
      meuSlice[0] = 1
      printSlice(meuSlice, "meuSlice")
      meuSlice[0] = 2
      printSlice(meuSlice, "meuSlice")
      meuSlice[0] = 3
      printSlice(meuSlice, "meuSlice")
  }
  
  func printSlice(meuSlice []int, sliceName string) {
      fmt.Printf("%v&gt; %v - %v - %v - %p \n", sliceName, len(meuSlice), cap(meuSlice), meuSlice, &amp;meuSlice)
  }
  </code></pre>
  
  <p><strong>Output:</strong></p>
  
  <pre><code>▶ go run .\src\array_e_slices\slice.go    
  meuSlice&gt; 1 - 2 - [1] - 0xc0420503e0  
  meuSlice&gt; 1 - 2 - [2] - 0xc042050440  
  meuSlice&gt; 1 - 2 - [3] - 0xc042050480 
  </code></pre>