funcgenerateMatrix(nint)[][]int{left,right,top,bottom:=0,n-1,0,n-1num:=1target:=n*nmatrix:=make([][]int,n)fori:=0;i<n;i++{matrix[i]=make([]int,n)}fornum<=target{// left to right
fori:=left;i<=right;i++{matrix[top][i]=numnum++}top++// top to bottom
fori:=top;i<=bottom;i++{matrix[i][right]=numnum++}right--// right to left
fori:=right;i>=left;i--{matrix[bottom][i]=numnum++}bottom--// bottom to top
fori:=bottom;i>=top;i--{matrix[i][left]=numnum++}left++}returnmatrix}