前言
Go 切片排序通过匿名函数来快速实现
代码示例
package main import ( "sort" "fmt" "strings" ) func main() { // 切片排序 intSlice := []int{ 1, 3, 4, 2, 55, } sort.Slice(intSlice, func(i, j int) bool { return i > j }) fmt.Println(intSlice) // 切片嵌套字典排序 result := []map[string]interface{}{ {"sort_time": 1}, {"sort_time": 2}, } sort.Slice(result, func(i, j int) bool { return result[i]["sort_time"].(int) > result[j]["sort_time"].(int) }) fmt.Println(result) // 将切片转为,号分割的字符串 strSlice := []string{"a", "b", "c"} strJoin := strings.Join(strSlice, ",") fmt.Println(strJoin) }
结果
[55 2 4 3 1] [map[sort_time:2] map[sort_time:1]] a,b,c