title: Golang reference to slice field in array of types
body: <p>I'm a Python programmer enjoying Go. The thing that trips me up must often is the use of references; I have mastered it (mostly) but then on occasion something baffles me, such as this one.</p>
  
  <p>I have a simple type ('Fixture'):</p>
  
  <pre><code>type Fixture struct {
      Probabilities      *[]float64
  }
  </code></pre>
  
  <p>If I populate the Probabilities field for a single instance of this type, everything is fine:</p>
  
  <pre><code>c := appengine.NewContext(r)
  f := Fixture{}
  p := []float64{}
  p = append(p, 0.5)
  p = append(p, 0.2)
  p = append(p, 0.3)
  f.Probabilities = &amp;p
  c.Infof("%v", *f.Probabilities)
  
  2013/03/19 07:37:36 INFO: [0.5 0.2 0.3]
  </code></pre>
  
  <p>However if I try and populate this field for an array of these types, the code compiles but the field value is always nil:</p>
  
  <pre><code>c := appengine.NewContext(r)
  fixtures := []Fixture{}
  f := Fixture{}
  fixtures = append(fixtures, f)
  for _, f := range fixtures {
      p := []float64{}
      p = append(p, 0.5)
      p = append(p, 0.2)
      p = append(p, 0.3)
      f.Probabilities = &amp;p
  }
  for _, f := range fixtures {
      // c.Infof("%v", *f.Probabilities) // causes error
      c.Infof("%v", f.Probabilities)
  }
  
  2013/03/19 07:37:41 INFO: &lt;nil&gt;
  </code></pre>
  
  <p>I guess I'm not understanding how arrays/slices work, particularly with respect to references. Can anyone point out where I'm going wrong ?</p>
  
  <p>Thanks!</p>