title: Go struct field has same name as interface method
body: <p>From a 3rd party:</p>
  
  <pre><code>package lib
  
  type Bar interface{
    Age() int
  }
  
  Foo(b Bar) int
  </code></pre>
  
  <p>This doesn't compile because <code>Age</code> is both a method name and field name:</p>
  
  <pre><code>package main
  
  import "lib"
  
  type Person struct {
    Age int
  }
  
  func (p *Person)Age() int {
    return p.Age
  }
  
  func main() {
    p := Person()
    lib.Foo(p)
  }
  </code></pre>
  
  <p><strong>Without</strong> renaming <code>Person.Age</code>, is there a way to call <code>lib.Foo()</code> on an instance of <code>Person</code>?  </p>