Ir sintaxe e interface como parâmetro para funcionar

Eu sou novo na linguagem de programação Go e recentemente encontrei o seguinte código:

func (rec *ContactRecord) Less(other interface{}) bool {
  return rec.sortKey.Less(other.(*ContactRecord).sortKey);
}

No entanto, não entendo o significado por trás da assinatura da função. Aceita uma interface como parâmetro. Você poderia me explicar como isso funciona? obrigado

questionAnswers(2)

yourAnswerToTheQuestion