Использование Diff между получателем значения и получателем указателя в объявлении методов Голанга

91
11

Все,

Я новичок в Golang, мне интересно, когда я определяю методы для типа, я могу использовать либо приемник значения, либо приемник указателя, но реализация одна и та же, это немного сбит с толку, почему * не требуется *, когда получают указатель приемника значение?

Например:

func (v *Vertex)Abs() float64 {

//////////////////////////// why this does not require *v?

return math.Sqrt(v.X*v.X + v.Y*v.Y)
}
v := Vertex{3, 4}
fmt.Println(v.Abs())

спросил(а) 2018-12-12T21:18:00+03:00 1 год, 10 месяцев назад
0
Ваш ответ
Введите минимум 50 символов
Чтобы , пожалуйста,
Выберите тему жалобы:

Другая проблема