mirror of
https://github.com/chai2010/advanced-go-programming-book.git
synced 2025-05-24 20:52:22 +00:00
commit
136b5bfbdb
@ -134,10 +134,10 @@ func main() {
|
|||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
为了使用Sort函数,我们需要将Go语言的切片取首地址、元素个数、元素大小等信息作为调用参数,同时还需要提过一个C语言规格的比较函数。
|
为了使用Sort函数,我们需要将Go语言的切片取首地址、元素个数、元素大小等信息作为调用参数,同时还需要提供一个C语言规格的比较函数。
|
||||||
其中go_qsort_compare是用Go语言实现的,并导出到C语言空间的函数,用于qsort排序时的比较函数。
|
其中go_qsort_compare是用Go语言实现的,并导出到C语言空间的函数,用于qsort排序时的比较函数。
|
||||||
|
|
||||||
目前已经实现了对C语言的qsort初步包装,并且可以通过包的方式被其它用户使用。但是`qsort.Sort`函数已经有很多不便使用之处:用户要提过C语言的比较函数,这对许多Go语言用户是一个挑战。下一步我们将继续改进qsort函数的包装函数,尝试通过闭包函数代替C语言的比较函数。
|
目前已经实现了对C语言的qsort初步包装,并且可以通过包的方式被其它用户使用。但是`qsort.Sort`函数已经有很多不便使用之处:用户要提供C语言的比较函数,这对许多Go语言用户是一个挑战。下一步我们将继续改进qsort函数的包装函数,尝试通过闭包函数代替C语言的比较函数。
|
||||||
|
|
||||||
消除用户对CGO代码的直角依赖。
|
消除用户对CGO代码的直角依赖。
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user