【发布时间】:2017-06-16 02:35:46
【问题描述】:
查看 Go 的内置函数,我才意识到他们不使用接口,而是使用了一个神奇的“类型”。
https://golang.org/src/builtin/builtin.go
那么,如果不使用泛型,这到底是怎么可能的呢?如果没有接口,我将如何编写一个签名类似于 append 的函数(它采用任何类型的数组)?
【问题讨论】:
-
"内置包为 Go 的预声明标识符提供文档。此处记录的项目实际上并不在内置包中,但它们的描述允许 godoc 为该语言的特殊标识符提供文档。"
-
这是一个不错的尝试,但 Go 真的,真的没有泛型。内置函数是由编译器而不是 stdlib 内置和处理的,并且不限于 Go 语言本身可用的功能。