Home >Backend Development >Golang >An in-depth analysis of the array data structure in Go language

An in-depth analysis of the array data structure in Go language

PHPz
PHPzOriginal
2024-02-01 08:00:08591browse

An in-depth analysis of the array data structure in Go language

Array data structure:

An array is a basic data structure that contains a series of elements, each element has an index . The elements in an array can be of any type, including other arrays. The size of an array is determined when it is created and cannot be changed later.

Code example:

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

Output:

1
2
3
4
5

Length of array:

The length of the array can be obtained using the len() function.

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

// 打印数组的长度
fmt.Println(length)

Output:

5

Elements of the array:

The elements of the array can be accessed by index. Indexing starts at 0 and ends at the length of the array minus one.

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

// 打印第一个元素
fmt.Println(firstElement)

Output:

1

Array traversal:

Arrays can be traversed using for .

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

Output:

1
2
3
4
5

Multidimensional array:

The Go language also supports multidimensional arrays. Multidimensional arrays are arrays of arrays.

// 创建一个二维数组
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])
    }
}

Output:

1
2
3
4
5
6
7
8
9

Slice of array:

A slice of array is a part of the array. Slices can be created using the [] operator.

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

// 打印切片中的元素
fmt.Println(slice)

Output:

[2 3]

Comparison of arrays:

Arrays can be used using == and != operator for comparison.

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

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

Output:

true

Copy of array:

Arrays can be usedcopy() function is copied.

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

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

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

// 打印新的数组
fmt.Println(newNumbers)

Output:

[1 2 3 4 5]

The above is the detailed content of An in-depth analysis of the array data structure in Go language. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn