Analisis mendalam tentang struktur data tatasusunan dalam bahasa Go

PHPz
Lepaskan: 2024-02-01 08:00:08
asal
535 orang telah melayarinya

Analisis mendalam tentang struktur data tatasusunan dalam bahasa Go

Struktur Data Tatasusunan:

Tatasusunan ialah struktur data asas yang mengandungi jujukan elemen, setiap satu dengan indeks. Elemen dalam tatasusunan boleh terdiri daripada sebarang jenis, termasuk tatasusunan lain. Saiz tatasusunan ditentukan apabila ia dicipta dan tidak boleh diubah kemudian.

Contoh kod:

// 创建一个包含 5 个整数的数组
var numbers [5]int

// 给数组中的元素赋值
numbers[0] = 1
numbers[1] = 2
numbers[2] = 3
numbers[3] = 4
numbers[4] = 5

// 遍历数组中的元素并打印出来
for i := 0; i < len(numbers); i++ {
    fmt.Println(numbers[i])
}
Salin selepas log masuk

Output:

1
2
3
4
5
Salin selepas log masuk
Salin selepas log masuk

Panjang tatasusunan:

Panjang tatasusunan boleh diperolehi menggunakan fungsi >len.()</code <code>len() 函数获取。

// 获取数组的长度
length := len(numbers)

// 打印数组的长度
fmt.Println(length)
Salin selepas log masuk

输出:

5
Salin selepas log masuk

数组的元素:

数组的元素可以通过索引访问。索引从 0 开始,到数组的长度减一结束。

// 获取数组第一个元素
firstElement := numbers[0]

// 打印第一个元素
fmt.Println(firstElement)
Salin selepas log masuk

输出:

1
Salin selepas log masuk

数组的遍历:

数组可以使用 for 循环遍历。

// 遍历数组中的元素并打印出来
for i := 0; i < len(numbers); i++ {
    fmt.Println(numbers[i])
}
Salin selepas log masuk

输出:

1
2
3
4
5
Salin selepas log masuk
Salin selepas log masuk

多维数组:

Go 语言还支持多维数组。多维数组是数组的数组。

// 创建一个二维数组
var matrix [3][3]int

// 给二维数组中的元素赋值
matrix[0][0] = 1
matrix[0][1] = 2
matrix[0][2] = 3
matrix[1][0] = 4
matrix[1][1] = 5
matrix[1][2] = 6
matrix[2][0] = 7
matrix[2][1] = 8
matrix[2][2] = 9

// 遍历二维数组中的元素并打印出来
for i := 0; i < len(matrix); i++ {
    for j := 0; j < len(matrix[i]); j++ {
        fmt.Println(matrix[i][j])
    }
}
Salin selepas log masuk

输出:

1
2
3
4
5
6
7
8
9
Salin selepas log masuk

数组的切片:

数组的切片是数组的一部分。切片可以使用 [] 操作符创建。

// 创建一个数组的切片
slice := numbers[1:3]

// 打印切片中的元素
fmt.Println(slice)
Salin selepas log masuk

输出:

[2 3]
Salin selepas log masuk

数组的比较:

数组可以使用 ==!= 操作符进行比较。

// 创建两个数组
var numbers1 = [5]int{1, 2, 3, 4, 5}
var numbers2 = [5]int{1, 2, 3, 4, 5}

// 比较两个数组是否相等
fmt.Println(numbers1 == numbers2)
Salin selepas log masuk

输出:

true
Salin selepas log masuk

数组的拷贝:

数组可以使用 copy()

// 创建一个数组
var numbers = [5]int{1, 2, 3, 4, 5}

// 创建一个新的数组
var newNumbers = [5]int{}

// 将数组拷贝到新的数组中
copy(newNumbers, numbers)

// 打印新的数组
fmt.Println(newNumbers)
Salin selepas log masuk

Output:

[1 2 3 4 5]
Salin selepas log masuk
🎜Elemen tatasusunan: 🎜🎜🎜Elemen tatasusunan boleh diakses melalui indeks. Pengindeksan bermula pada 0 dan berakhir pada panjang tatasusunan tolak satu. 🎜rrreee🎜🎜Output: 🎜🎜rrreee🎜🎜Traversal array: 🎜🎜🎜Array boleh dilalui menggunakan gelung for. 🎜rrreee🎜🎜Output: 🎜🎜rrreee🎜🎜 Tatasusunan berbilang dimensi: 🎜🎜🎜Bahasa Go juga menyokong tatasusunan berbilang dimensi. Tatasusunan berbilang dimensi ialah tatasusunan tatasusunan. 🎜rrreee🎜🎜Output: 🎜🎜rrreee🎜🎜Sekeping tatasusunan: 🎜🎜🎜Sekeping tatasusunan ialah sebahagian daripada tatasusunan. Potongan boleh dibuat menggunakan pengendali []. 🎜rrreee🎜🎜Output: 🎜🎜rrreee🎜🎜Perbandingan tatasusunan: 🎜🎜🎜 Tatasusunan boleh dibandingkan menggunakan operator == dan !=. 🎜rrreee🎜🎜Output: 🎜🎜rrreee🎜🎜Salinan tatasusunan: 🎜🎜🎜Array boleh disalin menggunakan fungsi copy(). 🎜rrreee🎜🎜Output: 🎜🎜rrreee

Atas ialah kandungan terperinci Analisis mendalam tentang struktur data tatasusunan dalam bahasa Go. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!