1.函數調用時,第一個參數默認可以不寫。在3.0這條行不通,編譯器要求 調用函數時顯示的說明第一個參數。 如圖 2.重載函數,多參數默認值時,在swift 2.x會引起沖突。在3.0也被優化了。當然第一條可能是為了實現第二條而進行了統一。調用時優先調用參數個數配對的函數。 如圖
3.函數參數命名與函數調用時進行了嚴格配對。 如在函數定義中 使用了”_”,那么在函數調用時就不能再寫成 “參數:數據”的形式,編譯會報錯。 如下圖所示:函數雖然是一個參數,但由于調用時對應為“name:數據”的形式編譯器調用了第三個函數
4.同時外參不同依然代表不同的函數。沒外參時,內參不同也OK。
5.所以在函數調用時,務必做到一一對應不然會引起不必要的麻煩。當然為了避免版本更新帶來的傷害,兩種選擇,1)跟內外參說再見,恢復C++習慣。2)遵守內參游戲規則。外參我想說在這里真雞肋
新聞熱點
疑難解答