0 我對可以在Swift方法中設置的參數的最大數量感興趣,以及它如何受限?我閱讀了關於如何在Java和C#中完成的信息,並希望知道它是如何在Swift中完成的。Swift中的一個方法可以有多少個參數?爲什麼? 來源 2017-03-05 Oleg Gordiichuk +2 Swift是開源的,所以如果你對此深感興趣,你可以研究源代碼...... – matt +0 我不確定是否有正確的答案,因爲它可能是(對於iOS來說)內存受限。默認情況下,Swift參數是通過值傳遞和只讀的,但是你也可以使用* inout *而不是*完全*通過引用(它仍然複製內存中的東西),它從根本上改變了你的問題的答案。最後,你認爲數組,類型和元組是什麼?所以我想我會說你需要進一步定義你的問題,然後才能給出準確的答案...... – dfd +0 @matt我知道,但我問這是因爲可能有人調查這一點,並可以分享他們的經驗。 –
4 爲什麼你認爲參數的數量有任意限制? Swift語言參考沒有定義特定的限制。如果你看一下grammar,參數子句遞歸定義爲: parameter-clause → () | (parameter-list) parameter-list → parameter | parameter,parameter-list 這有可能是有一些編譯器實現細節限制此爲有限長度(內存耗盡之前,這當然會限制它在練習),但我不知道一個,並不清楚爲什麼會有人預期。你當然不能依靠它。 看着AST,我沒有看到任何證據顯示這個級別的任意限制。正如你所期望的那樣,它看起來是一個動態分配的列表。 來源 2017-03-05 22:18:44
Swift是開源的,所以如果你對此深感興趣,你可以研究源代碼...... – matt
我不確定是否有正確的答案,因爲它可能是(對於iOS來說)內存受限。默認情況下,Swift參數是通過值傳遞和只讀的,但是你也可以使用* inout *而不是*完全*通過引用(它仍然複製內存中的東西),它從根本上改變了你的問題的答案。最後,你認爲數組,類型和元組是什麼?所以我想我會說你需要進一步定義你的問題,然後才能給出準確的答案...... – dfd
@matt我知道,但我問這是因爲可能有人調查這一點,並可以分享他們的經驗。 –