загадочное поведение для Стрингеров?

Новичок, чтобы идти, поэтому, пожалуйста, потерпите меня.

Я просматривал страницы "Tour of Go" и наткнулся на что-то загадочное в Stringers. Рассмотрим упражнение наhttps://tour.golang.org/methods/18

Мой первоначальный ответ был осуществлением

func (this *IPAddr) String() string {
  return fmt.Sprintf("%d.%d.%d.%d", this[0], this[1], this[2], this[3])
}

однако, это не используется для основных отпечатков простоfmt.Printf("%v: %v\n", name, ip), Если я изменю печать наfmt.Printf("%v: %v\n", name, ip.String()), то используется ли тип получателя*IPAddr или жеIPAddr).

почему это происходит?

Ответы на вопрос(2)

Ваш ответ на вопрос