Какой из следующих литералов корректно создаёт переменную типа *Point (указатель на структуру Point с полями X и Y)?
*Point
p := &Point{X: 1, Y: 2} — оператор & перед литералом возвращает указатель на созданное значение
p := &Point{X: 1, Y: 2}
p := Point{X: 1, Y: 2} — создаёт значение типа Point, результат не является указателем
p := Point{X: 1, Y: 2}
p := *Point{X: 1, Y: 2} — звёздочка перед именем типа в выражении является разыменованием, а не взятием адреса
p := *Point{X: 1, Y: 2}
p := new(Point{X: 1, Y: 2}) — функция new не принимает инициализированный литерал в качестве аргумента
p := new(Point{X: 1, Y: 2})