title: Go Syntax and interface as parameter to function
body: <p>I am new to Go programming language and recently encountered the following code:</p>
  
  <pre><code>func (rec *ContactRecord) Less(other interface{}) bool {
    return rec.sortKey.Less(other.(*ContactRecord).sortKey);
  }
  </code></pre>
  
  <p>However, I do not understand  the meaning behind the function signature. It accepts an interface as a parameter. Could you please explain me how this works ? Thanks</p>