行列の転置、A [i] [j]は[i]は符号直接、比較的簡単である[J]となります。
func transpose(A [][]int) [][]int {
B := make([][]int, len(A[0]))
for i := 0; i < len(A[0]); i++ {
B[i] = make([]int, len(A))
for j := 0; j < len(A); j++ {
B[i][j] = A[j][i]
}
}
return B
}