Home  >  Article  >  Backend Development  >  How to traverse slices in golang

How to traverse slices in golang

PHPz
PHPzOriginal
2023-05-13 11:17:371840browse

In Golang, slice is one of the commonly used data types, which contains a series of elements of the same type. We often need to traverse these elements. There are many ways to traverse slices, and the following will show some commonly used methods.

  1. for loop traversal

The most common way is to use a for loop to traverse slices. The code is as follows:

package main

import "fmt"

func main() {
    slice := []int{1, 2, 3, 4, 5}
    for i := 0; i < len(slice); i++ {
        fmt.Println(slice[i])
    }
}

In the above code, first create an integer slice and assign it an initial value. Then use a for loop to traverse the slice, using i as the index, traverse from the first element to the last element of the slice, and print out the value of each element through the fmt.Println() function.

The output result at this time is:

1
2
3
4
5
  1. for range loop traversal

The for range loop is another common method of traversing slices. It can easily traverse each element in the slice and obtain the index and value of the element. The code is as follows:

package main

import "fmt"

func main() {
    slice := []string{"apple", "banana", "orange", "grape"}
    for index, value := range slice {
        fmt.Printf("Index: %d, Value: %s
", index, value)
    }
}

In the above code, a string slice is created and assigned an initial value. Use a for range loop to traverse the slice, for each element, obtain its index and value, and use the Printf function to format the output.

The output result is:

Index: 0, Value: apple
Index: 1, Value: banana
Index: 2, Value: orange
Index: 3, Value: grape
  1. Traverse using the range keyword

In addition to the for range loop, you can also use the range keyword to traverse the slice , this method can simplify the code and also iterate over the index and value of the element. The code is as follows:

package main

import "fmt"

func main() {
    slice := []float64{1.5, 2.5, 3.5, 4.5, 5.5}
    for _, value := range slice {
        fmt.Println(value)
    }
}

In the above code, create a floating-point slice and assign it an initial value. Use the range keyword to traverse the slice and get the value of the element in each loop. This method uses an anonymous variable as the index value. We do not need to use the index value when traversing, and can use an underscore (_) instead.

The output result is:

1.5
2.5
3.5
4.5
5.5
  1. Use function traversal

You can also use functions to traverse slices. For example, we can use range and a function f to traverse the slice:

package main

import "fmt"

func main() {
    slice := []int{1, 2, 3, 4, 5}
    f := func(v int) {
        fmt.Println(v)
    }
    for _, v := range slice {
        f(v)
    }
}

In the above code, define a function f that accepts an integer parameter and is used to output each element in the integer slice . Then use a for range loop to traverse the slice. For each element, call the function f and pass in its value. The f function will print out the value of the element.

The output result is:

1
2
3
4
5

Summary:

The above are several methods for traversing slices in Golang. Among them, for loop and for range loop are the most commonly used, but in different scenarios Choosing different traversal methods can make the code more concise, readable and efficient.

The above is the detailed content of How to traverse slices 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