Point{1, 2} вместо Point{X: 1, Y: 2}?При позиционном литерале структуры порядок полей фиксирован. Если в тип Point добавят новое поле (например, Z int в начало или середину), компилятор сообщит об ошибке: не хватает значений для всех полей.
type Point struct { X, Y int }
p1 := Point{1, 2} // OK
p2 := Point{X: 1, Y: 2} // OK
// После добавления Z int:
// Point{1, 2} - ошибка компиляции
// Point{X: 1, Y: 2} - OK, Z получит 0
Именованные литералы устойчивее к изменению структуры и читаются яснее. go vet предупреждает о позиционных литералах для типов из других пакетов.