在 Go 中反转数组

Jay Singh 2022年4月22日
在 Go 中反转数组

本教程将演示如何在 Go 中反转数组。

在 Go 中使用 for 循环反转数组

由于 Go 中有许多返回值,因此反转数组非常简单。我们可以循环遍历数组的前半部分,一次将每个元素与其镜像对应的元素进行切换。

在此示例中,我们将创建一个将数组作为输入的函数。我们将遍历输入数组,交换所提供数组的开始和最后一个元素,然后返回该数组。

示例 1:

package main

import "fmt"

func reverseArray(arr []int) []int {
    for i, j := 0, len(arr)-1; i < j; i, j = i+1, j-1 {
        arr[i], arr[j] = arr[j], arr[i]
    }
    return arr
}

func main() {
    fmt.Println(reverseArray([]int{100, 200, 300, 400, 500}))
}

输出:

[500 400 300 200 100]

示例 2:

package main

import "fmt"

func reverse(numbers []int) []int {
    for i := 0; i < len(numbers)/2; i++ {
        j := len(numbers) - i - 1
        numbers[i], numbers[j] = numbers[j], numbers[i]
    }
    return numbers
}

func main() {
    fmt.Printf("%v\n", reverse([]int{100, 200, 300, 400, 500}))
}

输出:

[500 400 300 200 100]