【发布时间】:2016-01-18 18:39:06
【问题描述】:
在这段代码中:
class Foo {
}
func go(input: Foo) {
print("Non-generic called")
}
func go<T>(input: T) {
print("Generic called")
}
var foo:Foo = Foo()
go(foo) // Non-generic called
我只是好奇为什么调用非通用版本而不是通用版本?编译器是否只是优先考虑特定类型而不是泛型?
【问题讨论】:
-
有关 Swift 如何决定调用哪个函数的详细说明,请参阅this post from Airspeed Velocity。