swift 閉包簡寫實際參數名$0、$1等理解


Swift 自動對行內閉包提供簡寫實際參數名,你也可以通過 $0 , $1 , $2 等名字來引用閉包的實際參數值。

如果你在閉包表達式中使用這些簡寫實際參數名,那么你可以在閉包的實際參數列表中忽略對其的定義,並且簡寫實際參數名的數字和類型將會從期望的函數類型中推斷出來。 in  關鍵字也能被省略,因為閉包表達式完全由它的函數體組成:

let numbers = [3,2,4,1,5,7,6];

var sortedNumbers = numbers.sorted(by:{$0 < $1});
print(sortedNumbers);//輸出為:[1, 2, 3, 4, 5, 6, 7]

sortedNumbers = numbers.sorted(by:{$1 < $0});
print(sortedNumbers);//輸出為:[7, 6, 5, 4, 3, 2, 1]

 可以看出,可以用$0、$1、$2來表示調用閉包中參數,$0指代第一個參數,$1指代第二個參數,$2指代第三個參數,以此類推$n+1指代第n個參數,$后的數字代表參數的位置,一一對應。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM