swift - 将类型推断为泛型函数的方法
问题描述
除了这样,我如何将类型推断为泛型函数:
let a: MyType = genericFunction()
或这些演员表:
let a = MyType(genericFunction())
let a = genericFunction() as MyType
条件转换不会推断类型:
let a = genericFunction() as? MyType
还有什么作用?
更新:
正如 Victor Pro 假设的那样,函数应该返回一个泛型类型。它可能看起来像:
func genericFunction<T>() -> T {
}
解决方案
我假设你genericFunction()
有一个通用的返回类型。然后,推断类型的另一种方法是将其作为参数传递给函数:func genericFunction<T>(returnType: T.Type) -> T {...}
. 您现在可以通过 eg 调用它let val = genericFunction(String.self)
,其中val
is 类型String
.
推荐阅读
- docker - Kubernetes 卷挂载如何映射到 docker 卷
- excel - 如何在单独的单元格中使用多个 IF 语句制作公式?
- visual-studio - 为什么在 Visual Studio 2019 中格式化整个文档会在 SVG 代码中添加新行?
- python - 检测文本中的多个延伸
- javascript - 将非地理传单地图 maxBounds 与容器底部对齐
- javascript - 无需初始化即可获取接口的可用属性
- selenium - 测试参数
- java - 从 TextureView 拉取视频文件以保存
- mysql - 如果库存值大于 0,则使用 SQL 查询更新 WooCommerce 库存状态
- mysql - MySQL服务器如何找到表