title: Struct variable not being updated
body: <p>I have an array in test code</p>
  
  <pre><code>arr := []Server{}
  </code></pre>
  
  <p>which asks for arr[0].GetId()</p>
  
  <p>Server is an interface.
  ServerInstance is a struct implementing a method of interface, i.e</p>
  
  <pre><code>func (serv ServerInstance) GetId() int {
      return serv.Id
  }
  </code></pre>
  
  <p>I have a goroutine like </p>
  
  <pre><code>func (serv *ServerInstance) someFunc
  </code></pre>
  
  <p>which is updating a variable 'Id' of struct. I am sure of value being updated as - </p>
  
  <pre><code>serv.Id=23445
  </code></pre>
  
  <p>But this is not being reflected in call at line 3</p>
  
  <p><em><strong></em>*Update***</strong></p>
  
  <pre><code>for somecondition {
       arr=append(arr,FuncReturningServerIntercae() // calling this invokes goroutine which keeps updating `Id` very frequently
  }
  
  
  for {
     for _,s := range arr {
          print s.GetId()   // ** No Update **
       }
      sleep(some duration)
  }
  </code></pre>
  
  <p>** Example **
  <a href="http://play.golang.org/p/zUqJ0hEjxv" rel="nofollow">http://play.golang.org/p/zUqJ0hEjxv</a></p>