`func <T:Type>`和`func <T>(..)之间的区别,其中T:Type`?

时间:2019-08-12 23:18:21

标签: swift generics code-formatting

在限制泛型参数的类型时,为什么Swift中有两种方法可以做到这一点?

  1. func<T: Type>
  2. func<T>(..) where T: Type

两者之间是否有区别?还是仅保留了旧式语法?

2 个答案:

答案 0 :(得分:3)

没有区别,我不知道约定。

就个人而言,最好选择第一个选项,除非它使行的其余部分必须换行,在这种情况下,我将改用第二个选项。

答案 1 :(得分:1)

它们的功能相同。第一个版本是出于遗留原因而存在的,它是Swift 1的保留版本。第二个版本的概念较新,被Apple认为“更合适”。