Swift中的方法可以拥有的最大参数数量是什么?为什么?

时间:2017-03-05 21:46:15

标签: swift llvm

我对可以在Swift方法中设置的最大参数量以及它如何受限感兴趣?我阅读了有关如何在Java和C#中完成它的信息,并想知道它是如何在Swift中完成的。

1 个答案:

答案 0 :(得分:4)

为什么你认为参数数量有任意限制? Swift语言参考没有特别限制。如果查看grammar,则参数子句以递归方式定义为:

O

有可能有一些编译器实现细节将其限制为有限长度(在内存耗尽之前,这当然会在实践中限制它),但我不知道一个,并且不清楚为什么会有人期望。你当然不能依赖它。

查看AST,我没有看到任何证据证明该级别存在任意限制。正如您所料,它看起来是一个动态分配的列表。