【问题标题】:What protocols do all numbers conform to in Swift? [duplicate]Swift 中所有数字都遵循什么协议? [复制]
【发布时间】:2016-10-13 06:05:10
【问题描述】:

我试图弄清楚 Swift 中的协议是什么,所以我有一个只需要 Numbers 的函数。我希望能够通过IntDoubleFloatFloat,几乎是数字 的任意组合。

func takeNumbers(A: Protocol1, Protocol2, B: Protocol1, Protocol2) {

}

我只是列出了两个协议不知道是不是需要1、2、3等

【问题讨论】:

  • 请参阅this question,了解有关 如何 使多个数字类型符合相同协议的一些答案,以及有关 为什么 可能更好的一些答案不要。

标签: swift floating-point int double protocols


【解决方案1】:

为什么不创建自己的协议并扩展每种类型以符合它?

此外,您可以使用协议扩展来实现一个通用方法来获取每个值。例如,您可以通过在类型上实现 switch 逻辑从每个返回一个 int 值。

另外,你说了两次Float

【讨论】:

  • 是的,我的意思是通过 Int 和 Double 或通过 2 个浮点数
  • 啊,我现在明白了 - 我的建议仍然有效。您可以查看文档以了解数字符合的所有协议,但您最好自己制定协议。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-10-24
  • 2020-04-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多