загадочное поведение для Стрингеров?
Новичок, чтобы идти, поэтому, пожалуйста, потерпите меня.
Я просматривал страницы "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
).
почему это происходит?