package main import "fmt" // 反转数组 // 利用 defer 后进先出 特性实现 func reverse(arr []int) (reverse_arr []int) { reverse_arr = make([]int, 0, len(arr)) for i := 0; i < len(arr); i++ { // 多个defer 语句,后进先出执行 // 实现将数组的元素逆序存入新的数组中 defer func(v int) { reverse_arr = append(reverse_arr, v) }(arr[i]) } return } func main() { arr := [...]int{1, 2, 3, 4, 5} fmt.Println("arr: ", arr) fmt.Println("reverse(arr): ", reverse(arr[:])) }