在Swift中,您可以将泛型限制为两种类型吗?字符串和整数

胖子

在Swift3中,您可以这样做吗?

 func example<T>()->(T) where T can only be String or Int

或者,您仅需要两个扩展名吗?

例如,该函数计算数学函数。

输入在概念上是“数字”,但可以是法语字符串或整数。因此,输入可以是字符串“ cent”或整数100。结果将是平方根,即字符串“ dix”或整数10。

亚历山大-恢复莫妮卡

这不是泛型的工作。使用两种类型的静态集合并没有通用的方法。

这是使用枚举的理想情况:

enum SomeEnum { //TODO: name me
    case string(String)
    case int(Int)
}

func foo(input: SomeEnum) -> SomeEnum {
    switch input {
        case .string(let s):
            print("This is a String: \(s)")
            return(.string("abc"))
        case .int(let i):
            print("This is an Int: \(i)")
            return(.int(123))
    }
}

print(foo(input: SomeEnum.string("qwerty")))
print(foo(input: SomeEnum.int(5)))

你可以在这里尝试

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

在列中拆分两种类型的字符串

有什么方法可以将泛型限制为几种类型之一?

我可以创建两种类型,它们等于从数字或字符串派生并求和或连接它们吗?

在Python中,是否可以将函数参数的类型限制为两种可能的类型?

F#泛型:我可以将类型限制为不是“单位”吗?

您可以将Swift通用约束限制为一组已知类型吗?

是否可以将泛型类型限制为Interface,new()?

Swift将泛型类型限制为Type

如何将属性的类型限制为预定义的两种类型(UIColor或CAGradientLayer)

您可以在Swift中评估字符串吗?

将泛型参数限制为 Typescript 中的联合类型

在Swift中获取泛型类型的名称(字符串)

Scala:是否可以将类型参数强制为两种类型之一?

Jenkinsfile 一种类型的参数而不是两种类型,将选择转换为字符串或将字符串转换为选择

您可以在Swift中为特定的泛型类型添加协议扩展吗?

我可以将泛型类型参数限制为2个不相关的类之一吗?

接受两种类型之一的泛型类

Java的:排序泛型类两种类型

是否可以在 TypeScript 中将字符串索引器限制为同级属性的名称和类型?

如何将一种类型传递给 Rust 中用两种类型定义的泛型?

在Swift中可以将变量名和字符串/整数连接起来吗?

为什么两种类型在科特林ReadFile和字符串之间有什么不同?

在TypeScript中支持“索引的两种类型”(数字和字符串)的用例是什么?

您可以将类型参数<T>限制为多个特定类吗

将泛型类型 <T> 限制为特定类型

您可以将字符串中的字符添加到列表中吗?

类型可以解析字符串的泛型类

打字稿:是否可以将泛型类型评估为字符串文字?

Ajax 可以成功() 处理两种类型的返回吗?