相关疑难解决方法(0)

Swift 1.2 中的通用和(早期?)绑定

func f<T>(a:T)->String { return "Generic" }
func f(a:Int)->String { return "Integer" }
func alias<T>(a:T)->String { return f(a) }

f(1) // "Integer"
f("string") // "Generic"

alias(1) // "Generic" (shouldn't be "Integer" ?)
alias("string") // "Generic"
Run Code Online (Sandbox Code Playgroud)

我知道某种形式的早期(静态)绑定正在发生,但我不明白为什么。是设计使然还是错误?如果按设计然后alias(a) =/= f(a)但定义读取准确alias(a) = f(a)

generics overloading swift

5
推荐指数
0
解决办法
143
查看次数

标签 统计

generics ×1

overloading ×1

swift ×1