mirror of
https://github.com/unknwon/the-way-to-go_ZH_CN.git
synced 2025-11-13 17:36:12 +08:00
修改部分描述,添加必要的标点符号,补充代码超链接 (#804)
This commit is contained in:
@@ -1,6 +1,6 @@
|
||||
# 11.7 第一个例子:使用 Sorter 接口排序
|
||||
|
||||
一个很好的例子是来自标准库的 `sort` 包,要对一组数字或字符串排序,只需要实现三个方法:反映元素个数的 `Len()`方法、比较第 `i` 和 `j` 个元素的 `Less(i, j)` 方法以及交换第 `i` 和 `j` 个元素的 `Swap(i, j)` 方法。
|
||||
一个很好的例子是来自标准库的 `sort` 包,要对一组数字或字符串排序,只需要实现三个方法:反映元素个数的 `Len()` 方法、比较第 `i` 和 `j` 个元素的 `Less(i, j)` 方法以及交换第 `i` 和 `j` 个元素的 `Swap(i, j)` 方法。
|
||||
|
||||
排序函数的算法只会使用到这三个方法(可以使用任何排序算法来实现,此处我们使用冒泡排序):
|
||||
|
||||
@@ -202,17 +202,17 @@ b). 定义一个新接口 `PeriInterface`,它有一个 `Perimeter` 方法。
|
||||
|
||||
**练习 11.6** point_interfaces.go:
|
||||
|
||||
继续 10.3 中的练习 point_methods.go,定义接口 `Magnitude`,它有一个方法 `Abs()`。让 `Point`、`Point3` 及`Polar` 实现此接口。通过接口类型变量使用方法做point.go中同样的事情。
|
||||
继续 10.3 中的练习 point_methods.go,定义接口 `Magnitude`,它有一个方法 `Abs()`。让 `Point`、`Point3` 及`Polar` 实现此接口。通过接口类型变量使用方法做 point.go 中同样的事情。
|
||||
|
||||
**练习 11.7** float_sort.go / float_sortmain.go:
|
||||
**练习 11.7** float_sort.go/float_sortmain.go:
|
||||
|
||||
类似11.7和示例11.3/4,定义一个包 `float64`,并在包里定义类型 `Float64Array`,然后让它实现 `Sorter` 接口用来对 `float64` 数组进行排序。
|
||||
类似 11.7 和示例 11.3/4,定义一个包 `float64`,并在包里定义类型 `Float64Array`,然后让它实现 `Sorter` 接口用来对 `float64` 数组进行排序。
|
||||
|
||||
另外提供如下方法:
|
||||
|
||||
- `NewFloat64Array()`:创建一个包含25个元素的数组变量(参考10.2)
|
||||
- `NewFloat64Array()`:创建一个包含 25 个元素的数组变量(参考10.2)
|
||||
- `List()`:返回数组格式化后的字符串,并在 `String()` 方法中调用它,这样就不用显式地调用 `List()` 来打印数组(参考10.7)
|
||||
- `Fill()`:创建一个包含10个随机浮点数的数组(参考4.5.2.6)
|
||||
- `Fill()`:创建一个包含 10 个随机浮点数的数组(参考4.5.2.6)
|
||||
|
||||
在主程序中新建一个此类型的变量,然后对它排序并进行测试。
|
||||
|
||||
|
||||
Reference in New Issue
Block a user