Метод привязан к типу: func (r T) M(). Вызов: x.M(), в методе r - получатель. Функция не привязана: func F(x T). Методы могут быть только у типов, определённых в том же пакете. Интерфейсы требуют методы, не функции.
func (r T) M()
x.M()
func F(x T)