标签: swift llvm
我对可以在Swift方法中设置的最大参数量以及它如何受限感兴趣?我阅读了有关如何在Java和C#中完成它的信息,并想知道它是如何在Swift中完成的。
答案 0 :(得分:4)
为什么你认为参数数量有任意限制? Swift语言参考没有特别限制。如果查看grammar,则参数子句以递归方式定义为:
O
有可能有一些编译器实现细节将其限制为有限长度(在内存耗尽之前,这当然会在实践中限制它),但我不知道一个,并且不清楚为什么会有人期望。你当然不能依赖它。
查看AST,我没有看到任何证据证明该级别存在任意限制。正如您所料,它看起来是一个动态分配的列表。