mirror of
https://github.com/unknwon/the-way-to-go_ZH_CN.git
synced 2025-08-11 22:06:51 +08:00
@@ -85,10 +85,10 @@ Go语言不支持这项特性的主要原因是函数重载需要进行多余的
|
|||||||
|
|
||||||
函数值(functions value)之间可以相互比较:如果它们引用的是相同的函数或者都是nil的话,则认为它们是相同的函数。函数不能在其它函数里面声明(不能嵌套),不过我们可以通过使用匿名函数(参考[第 6.8 节](06.8.md))来破除这个限制。
|
函数值(functions value)之间可以相互比较:如果它们引用的是相同的函数或者都是nil的话,则认为它们是相同的函数。函数不能在其它函数里面声明(不能嵌套),不过我们可以通过使用匿名函数(参考[第 6.8 节](06.8.md))来破除这个限制。
|
||||||
|
|
||||||
目前Go没有泛型(generic)的概念,也就是说它不支持那种支持多种类型的函数。不过在大部分情况下可以通过接口(interface),特别是空接口与类型选择(type switch,参考[第 11.12 节](11.12.md))与/或者通过使用反射(reflection,参考[第 6.8 节](06.8.md))来实现相似的功能。使用这些技术将导致代码更为复杂、性能更为地下,所以在非常注意性能的的场合,最好是为每一个类型单独创建一个函数,而且代码可读性更强。
|
目前Go没有泛型(generic)的概念,也就是说它不支持那种支持多种类型的函数。不过在大部分情况下可以通过接口(interface),特别是空接口与类型选择(type switch,参考[第 11.12 节](11.12.md))与/或者通过使用反射(reflection,参考[第 6.8 节](06.8.md))来实现相似的功能。使用这些技术将导致代码更为复杂、性能更为低下,所以在非常注意性能的的场合,最好是为每一个类型单独创建一个函数,而且代码可读性更强。
|
||||||
|
|
||||||
## 链接
|
## 链接
|
||||||
|
|
||||||
- [目录](directory.md)
|
- [目录](directory.md)
|
||||||
- 上一节:[函数(function)](06.0.md)
|
- 上一节:[函数(function)](06.0.md)
|
||||||
- 下一节:[参数与返回值](06.2.md)
|
- 下一节:[参数与返回值](06.2.md)
|
||||||
|
Reference in New Issue
Block a user