修正半角标点符号

This commit is contained in:
kimw
2018-05-27 16:51:15 -04:00
parent fb3359fb4e
commit 0ab7557665
39 changed files with 85 additions and 86 deletions

View File

@@ -1,4 +1,5 @@
## 7.6. sort.Interface接口
排序操作和字符串格式化一样是很多程序经常使用的操作。尽管一个最短的快排程序只要15行就可以搞定但是一个健壮的实现需要更多的代码并且我们不希望每次我们需要的时候都重写或者拷贝这些代码。
幸运的是sort包内置的提供了根据一些排序函数来对任何序列排序的功能。它的设计非常独到。在很多语言中排序算法都是和序列数据类型关联同时排序函数和具体类型元素关联。相比之下Go语言的sort.Sort函数不会对具体的序列和它的元素做任何假设。相反它使用了一个接口类型sort.Interface来指定通用的排序算法和可能被排序到的序列类型之间的约定。这个接口的实现由序列的具体表示和它希望排序的元素决定序列的表示经常是一个切片。
@@ -212,7 +213,7 @@ fmt.Println(values) // "[4 3 1 1]"
fmt.Println(sort.IntsAreSorted(values)) // "false"
```
为了使用方便sort包为[]int,[]string和[]float64的正常排序提供了特定版本的函数和类型。对于其他类型例如[]int64或者[]uint尽管路径也很简单还是依赖我们自己实现。
为了使用方便sort包为[]int[]string和[]float64的正常排序提供了特定版本的函数和类型。对于其他类型例如[]int64或者[]uint尽管路径也很简单还是依赖我们自己实现。
**练习 7.8** 很多图形界面提供了一个有状态的多重排序表格插件主要的排序键是最近一次点击过列头的列第二个排序键是第二最近点击过列头的列等等。定义一个sort.Interface的实现用在这样的表格中。比较这个实现方式和重复使用sort.Stable来排序的方式。