mirror of
https://github.com/chai2010/advanced-go-programming-book.git
synced 2025-05-24 20:47:11 +00:00
27 lines
469 B
Go
27 lines
469 B
Go
// Copyright © 2018 ChaiShushan <chaishushan{AT}gmail.com>.
|
|
// License: https://creativecommons.org/licenses/by-nc-sa/4.0/
|
|
|
|
// +build ignore
|
|
|
|
package main
|
|
|
|
import (
|
|
"fmt"
|
|
"unsafe"
|
|
|
|
qsort "."
|
|
)
|
|
|
|
func main() {
|
|
values := []int32{42, 9, 101, 95, 27, 25}
|
|
|
|
qsort.Sort(unsafe.Pointer(&values[0]), len(values), int(unsafe.Sizeof(values[0])),
|
|
func(a, b unsafe.Pointer) int {
|
|
pa, pb := (*int32)(a), (*int32)(b)
|
|
return int(*pa - *pb)
|
|
},
|
|
)
|
|
|
|
fmt.Println(values)
|
|
}
|