golang 学习(十八)自定义切片排序方法 和 type 用法、匿名方法
package demo
import (
"fmt"
"testing"
)
func TestFunMap(t *testing.T) {
var slice = []int{1, 23, 9, 6, 8, 453, 34}
newSlice := sortArrAsc(slice)
fmt.Println(newSlice) //[1 6 8 9 23 34 453]
fmt.Println(slice) //[1 6 8 9 23 34 453] 切片是引用数据类型
newSlice = sortArrDesc(slice)
fmt.Println(newSlice) //[453 34 23 9 8 6 1]
fmt.Println(slice) //[453 34 23 9 8 6 1] 切片是引用数据类型
}
//升序
func sortArrAsc(slice []int) []int {
var sliceLen = len(slice)
for i := 0; i < sliceLen; i++ {
for j := i + 1; j < sliceLen; j++ {
if slice[i] > slice[j] {
temp := slice[i]
slice[i] = slice[j]
slice[j] = temp
}
}
}
return slice
}
//降序
func sortArrDesc(slice []int) []int {
var sliceLen = len(slice)
for i := 0; i < sliceLen; i++ {
for j := i + 1; j < sliceLen; j++ {
if slice[i] < slice[j] {
temp := slice[i]
slice[i] = slice[j]
slice[j] = temp
}
}
}
return slice
}