new(int)?new(T) выделяет память для значения типа T, инициализирует его zero value и возвращает указатель *T. Таким образом, new(int) возвращает *int, указывающий на 0.
p := new(int)
fmt.Println(*p) // 0
*p = 42
fmt.Println(*p) // 42
Для структур чаще используют &MyStruct{} или &MyStruct{Field: value}. new полезен для примитивов и когда нужен именно указатель на zero value.