title: Make a struct "range-able"?
body: <pre><code>type Friend struct {
      name string
      age  int
  }
  
  type Friends struct {
      friends []Friend
  }
  </code></pre>
  
  <p>I'd like to make <code>Friends</code> range-able, that means, if I have a variable <code>my_friends</code> with type <code>Friends</code>, I can loop though it with:</p>
  
  <pre><code>for i, friend := range my_friends {
      // bla bla
  }
  </code></pre>
  
  <p>is it possible in Go?</p>