推断通用函数类型的方法

问题描述 投票:0回答:1

我怎么能推断出一个通用函数的类型,而不是像这样。

let a: MyType = genericFunction()

或这些投法。

let a = MyType(genericFunction())

let a = genericFunction() as MyType

有条件的转换并不能推断出类型。

let a = genericFunction() as? MyType

还有什么能推断出类型?

更新。

正如Victor Pro所假设的那样,函数应该返回一个通用类型。它可能是这样的。

func genericFunction<T>() -> T {
}
swift generics types
1个回答
1
投票

我假设你的 genericFunction() 有一个通用的返回类型。然后,另一种推断类型的方法是将其作为函数的参数传递给函数。func genericFunction<T>(returnType: T.Type) -> T {...}. 现在你可以通过例如以下方式调用它 let val = genericFunction(String.self)的方式调用它,因此 val 属于 String.

© www.soinside.com 2019 - 2024. All rights reserved.