Golang使用结构体和方法给一个二维数组置换
时间: 2024-02-13 13:06:00 浏览: 89
Golang结构体和map
可以使用 Golang 中的结构体和方法来实现对二维数组的置换。下面是示例代码:
```go
type Matrix struct {
data [][]int
}
func (m *Matrix) Transpose() {
for i := 0; i < len(m.data); i++ {
for j := 0; j < i; j++ {
m.data[i][j], m.data[j][i] = m.data[j][i], m.data[i][j]
}
}
}
func main() {
matrix := Matrix{[][]int{{1, 2, 3}, {4, 5, 6}, {7, 8, 9}}}
fmt.Printf("Original Matrix:\n%v\n", matrix.data)
matrix.Transpose()
fmt.Printf("Transposed Matrix:\n%v\n", matrix.data)
}
```
在上面的代码中,我们定义了一个名为 `Matrix` 的结构体,其中包含一个二维整数数组 `data`。我们还定义了一个名为 `Transpose` 的方法,该方法使用双重循环来交换二维数组中的元素,从而实现置换。最后,我们在 `main` 函数中创建一个 `Matrix` 实例,并调用 `Transpose` 方法来实现置换。
请注意,上面的代码仅适用于正方形二维数组。如果您要对其他类型的二维数组进行置换,需要根据实际情况进行修改。
阅读全文