Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package main
- import (
- "fmt"
- "sort"
- )
- func main() {
- numbers := []int{33, 4, 55, 4, 12, 1, -3, 46}
- fmt.Printf("numbers type => %T\n", numbers)
- fmt.Printf("numbers sort.Intslice type => %T\n", sort.IntSlice(numbers))
- //The most basic sort way
- //sort.Ints(numbers) // also sort.Strings ..etc. Look at documentation
- //fmt.Println(numbers)
- //we can also make sort via closure
- sort.Slice(numbers, func(i, j int) bool {
- return numbers[i] < numbers[j]
- })
- fmt.Println("Sort via closure. Numbers:",numbers)
- //Sort and Reverse expects Interface type. IntSlice is an Interface cause it implements Len,Less,Swap methods
- t := sort.IntSlice(numbers)
- fmt.Printf("t type => %T\n", t)
- fmt.Println("Before sort. Numbers =>", numbers)
- sort.Sort(t)
- fmt.Println("After sort. Numbers =>", numbers)
- fmt.Println("Before Reverse sort. Numbers =>", numbers)
- sort.Sort(sort.Reverse(t))
- fmt.Println("After Reverse sort. Numbers =>", numbers)
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement