В чем разница между следующими синтаксисами для создания объекта? Почему 2 разных метода, если результат одинаковый?
type Foo struct {
X int
}
f1 := &Foo{}
f2 := new(Foo)
Ответ 1
Использование new является единственным способом прямого возврата указателя на нативного типа (int, float64, uint32,...) без создания нормальной переменной, а затем возврата указателя на него.