Home  >  Article  >  Backend Development  >  Let’s talk about how to use arrays in golang

Let’s talk about how to use arrays in golang

PHPz
PHPzOriginal
2023-03-30 09:10:42561browse

Golang is a widely used programming language that is efficient, simple and reliable. Among them, array is a basic data type in Golang, designed to store a set of data of the same type. In this article, we will introduce how to use Golang arrays.

  1. Create an array

Arrays in Golang are declared using the [] operator, and the length and type of the array can be specified when declaring. For example, the following code declares an array of type int with a length of 5:

var arr [5]int

You can also use a short declaration:

arr := [5]int{}
  1. Initialize the array

Arrays in Golang can be initialized in two ways:

  1. Specify a value for each element: For example, the following code specifies a value for each element in the array :
arr := [5]int{1, 2, 3, 4, 5}
  1. Omit the length and initialize the array with a set of values: The following code declares an array of undetermined length and initializes it with 3 values:
arr := [...]int{1, 2, 3}
  1. Accessing Arrays

To access an element in a Golang array, use the [] operator and the index of the element. For example, the following code prints the first element in the array:

arr := [5]int{1, 2, 3, 4, 5}
fmt.Println(arr[0]) // 输出:1
  1. Array length

The length of the array can be obtained by calling the len function. For example, the following code gets the length of the array and prints it out:

arr := [...]int{1, 2, 3}
fmt.Println(len(arr)) // 输出:3
  1. Traversing the array

You can iterate through each element in the Golang array by looping. For example, the following code uses a for loop to iterate through an array and print each element:

arr := [5]int{1, 2, 3, 4, 5}
for i := 0; i < len(arr); i++ {
    fmt.Println(arr[i])
}
  1. As a function argument

Arrays in Golang can be passed as arguments to functions. For example, the following code defines a function that accepts an array and an integer parameter and adds the integer to each element of the array:

func addNums(arr [5]int, num int) [5]int {
    for i := 0; i < len(arr); i++ {
        arr[i] += num
    }
    return arr
}

arr := [5]int{1, 2, 3, 4, 5}
arr = addNums(arr, 2)
fmt.Println(arr) // 输出:[3 4 5 6 7]

It is important to note that when an array is passed as a function parameter, The entire array will be copied into the function's formal parameters. This can cause performance issues, especially with large arrays. To address this problem, Golang supports pointers to arrays, which can be passed as parameters to avoid the problem of array copying.

  1. Array Slicing

In Golang, an array slice is a dynamic array based on an existing array, which has a variable length. An empty array slice can be created by using the make function. For example, the following code declares an empty string array slice:

var s []string

You can also declare a slice containing initial elements using the following syntax:

s := []string{"foo", "bar", "baz"}

You can use the built-in append Function to add elements to the slice. For example, the following code adds a new string to a slice:

s := []string{"foo", "bar", "baz"}
s = append(s, "qux")
fmt.Println(s) // 输出:[foo bar baz qux]

A slice can be sliced ​​using the following syntax:

s := []string{"foo", "bar", "baz", "qux", "quux"}
s = s[1:4] // 从 "1" 开始,到 "4" 之前
fmt.Println(s) // 输出:[bar baz qux]
  1. Summary

Golang Arrays are a powerful data type that are efficient, simple and reliable. In this article, you've learned how to declare and initialize an array, access array elements, get the array length, and pass arrays as function parameters. In addition, dynamic array slicing in Golang is also introduced, explaining how to create an empty slice, add elements to the slice, and how to perform slicing operations on the slice. Mastering these skills will enable you to better use arrays.

The above is the detailed content of Let’s talk about how to use arrays in golang. 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