从插入排序来理解Go的interface

Posted Golang社区

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了从插入排序来理解Go的interface相关的知识,希望对你有一定的参考价值。

插入排序

根据插入排序的思想,我们很容易就可以完成插入排序的代码如下。

我们可以验证一下,确实没有问题。从插入排序来理解Go的interface

代码输出为,结果正确

[1 2 3 4 7 9 10 17 21]

问题

好,现在问题来了,都知道 Go 是静态语言,那么就意味着不同的数据类型可能导致上述的插入排序不可用。比如说,某天产品想要支持 uint32 的插入排序。嗯,很简单,直接 Ctrl+c + Ctrl+c 稍微修改一下。从插入排序来理解Go的interface

谁知道哪天产品脑子又抽风,他想要支持 float32 类型的插入排序,代码可能又得加几行。从插入排序来理解Go的interface

好像还看得下去,我们知道 Go 中的类型可不止这 3 种,再这么被搞下去是不是要爆炸了?没关系,我们有强大的 IDE 可以快速实现。

以上是关于从插入排序来理解Go的interface的主要内容,如果未能解决你的问题,请参考以下文章

浅解 go 语言的 interface(许的博客)

go语言实现排序算法

重学Golang系列: 深入理解 interface和reflect

go语言interface设计的一点思考

go语言interface设计的一点思考

用简单的思维理解选择插入冒泡和希尔排序