
new()
, и через имя структуры + фигурные скобки, т.е. Foo{}
?type Foo struct {
X int
}
f1 := &Foo{}
f2 := new(Foo)
Foo
и возвращается указатель *Foo
на вновь созданный элемент. Только в первом случае можно еще указывать параметры
f1 := &Foo{100}
. Зачем нужны два одинаковых метода? Первый
&
является частью указателей и применяется для операций с ними, второй для явного создания пустого объекта.@golang_interview