Новичок в Golang и пытаюсь понять фрагмент кода, с которым столкнулся. В блоге, который я читал, они определяют структуру Vertex
следующим образом:
type Vertex struct {
X int
Y int
}
А затем покажите пример того, как создать новый экземпляр и изменить одно из его полей:
v1 := Vertex{1,2}
v1.X = 3
Однако они показывают пример того, как создать указатель на экземпляр этой структуры и изменить одно из ее полей:
v2 := &Vertex{3,4}
v2.X = 3
Это меня немного смутило. Для меня оператор v2 := &Vertex{3,4}
переводится как: «v2
— это указатель на новый экземпляр Vertex{3,4}
». Если это так, то если v2
является указателем на структуру Vertex
, а не самой структурой Vertex
, то как мы можем вызвать для нее v2.X
(это указатель!!!)?
v2.X
становится(*v2).X
. - person mkopriva   schedule 20.04.2020->
, но в Go достаточно простого.
, поэтому в дополнительном символе нет необходимости. - person Volker   schedule 20.04.2020