Go解决slice map线程不安全的原因与方法
sort.Slice() 是 Go 语言中内置的一个函数,它可以对切片进行排序。它的用法如下:
sort.Slice(slice, func(i, j int) bool)
slice 是要排序的切片,func 是一个可选的比较函数,用于确定排序顺序。如果省略这个函数,则使用内置的比较函数对切片进行排序。这个函数的返回值是 bool 类型,表示切片中下标为 i 和下标为 j 的元素的顺序是否交换。
示例代码:
```
package main
import (
"fmt"
"sort"
)
func main() {
s := []int{5, 2, 6, 3, 1, 4}
sort.Slice(s, func(i, j int) bool {
return s[i] < s[j]
})
fmt.Println(s)
}
```
输出结果:
```
[1 2 3 4 5 6]
```
在这个示例中,我们使用了一个匿名函数作为 sort.Slice() 的第二个参数,这个函数用于确定排序顺序。这个函数的返回值表示 s[i] 是否小于 s[j],如果是,则交换两个元素的位置。
注意:sort.Slice() 函数不会返回任何值,它会直接修改切片的内容。