Eine eingehende Analyse der Array-Datenstruktur in der Go-Sprache

PHPz
Freigeben: 2024-02-01 08:00:08
Original
562 Leute haben es durchsucht

Eine eingehende Analyse der Array-Datenstruktur in der Go-Sprache

Array-Datenstruktur:

Ein Array ist eine grundlegende Datenstruktur, die eine Folge von Elementen mit jeweils einem Index enthält. Die Elemente in einem Array können von beliebigem Typ sein, auch andere Arrays. Die Größe eines Arrays wird beim Erstellen festgelegt und kann später nicht mehr geändert werden.

Codebeispiel:

// 创建一个包含 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])
}
Nach dem Login kopieren

Ausgabe:

1
2
3
4
5
Nach dem Login kopieren
Nach dem Login kopieren

Die Länge des Arrays:

Die Länge des Arrays kann mit der Funktion len() ermittelt werden. len() 函数获取。

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

// 打印数组的长度
fmt.Println(length)
Nach dem Login kopieren

输出:

5
Nach dem Login kopieren

数组的元素:

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

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

// 打印第一个元素
fmt.Println(firstElement)
Nach dem Login kopieren

输出:

1
Nach dem Login kopieren

数组的遍历:

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

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

输出:

1
2
3
4
5
Nach dem Login kopieren
Nach dem Login kopieren

多维数组:

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])
    }
}
Nach dem Login kopieren

输出:

1
2
3
4
5
6
7
8
9
Nach dem Login kopieren

数组的切片:

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

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

// 打印切片中的元素
fmt.Println(slice)
Nach dem Login kopieren

输出:

[2 3]
Nach dem Login kopieren

数组的比较:

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

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

// 比较两个数组是否相等
fmt.Println(numbers1 == numbers2)
Nach dem Login kopieren

输出:

true
Nach dem Login kopieren

数组的拷贝:

数组可以使用 copy()

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

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

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

// 打印新的数组
fmt.Println(newNumbers)
Nach dem Login kopieren

Ausgabe:

[1 2 3 4 5]
Nach dem Login kopieren
🎜Elemente des Arrays: 🎜🎜🎜Auf die Elemente des Arrays kann per Index zugegriffen werden. Die Indizierung beginnt bei 0 und endet bei der Länge des Arrays minus eins. 🎜rrreee🎜🎜Ausgabe: 🎜🎜rrreee🎜🎜Array-Durchlauf: 🎜🎜🎜Arrays können mit der for-Schleife durchlaufen werden. 🎜rrreee🎜🎜Ausgabe: 🎜🎜rrreee🎜🎜Mehrdimensionales Array: 🎜🎜🎜Die Go-Sprache unterstützt auch mehrdimensionale Arrays. Mehrdimensionale Arrays sind Arrays von Arrays. 🎜rrreee🎜🎜Ausgabe: 🎜🎜rrreee🎜🎜Array-Slice: 🎜🎜🎜Ein Array-Slice ist Teil des Arrays. Slices können mit dem Operator [] erstellt werden. 🎜rrreee🎜🎜Ausgabe: 🎜🎜rrreee🎜🎜Vergleich von Arrays: 🎜🎜🎜Arrays können mit den Operatoren == und != verglichen werden. 🎜rrreee🎜🎜Ausgabe: 🎜🎜rrreee🎜🎜Kopie des Arrays: 🎜🎜🎜Arrays können mit der Funktion copy() kopiert werden. 🎜rrreee🎜🎜Ausgabe: 🎜🎜rrreee

Das obige ist der detaillierte Inhalt vonEine eingehende Analyse der Array-Datenstruktur in der Go-Sprache. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage