Go语言教程之边写边学:Golang中的反射:Reflect包的swapper函数
Swapper函数用于交换所提供切片中的元素。您也可以以巧妙的方式使用此功能来反转或排序切片。
示例代码:
package main
import (
"fmt"
"reflect"
)
func main() {
theList := []int{1, 2, 3, 4, 5}
swap := reflect.Swapper(theList)
fmt.Printf("Original Slice :%v\n", theList)
// 按下标交换元素swap(1, 3)
fmt.Printf("After Swap :%v\n", theList)
// 反转slice元素for i := 0; i < len(theList)/2; i++ {
swap(i, len(theList)-1-i)
}
fmt.Printf("After Reverse :%v\n", theList)
}
输出:
Original Slice :[1 2 3 4 5]
After Swap :[1 4 3 2 5]
After Reverse :[5 2 3 4 1]
系列文章