Kotlin技術分享:中綴調用、解構聲明
一、中綴調用
可以以以下形式創建一個 Map 變數
使用 「to」 來聲明 map 的 key 與 value 之間的對應關係,這種形式的函數調用被稱為中綴調用
中綴調用可以與只有一個參數的函數一起使用,無論是普通的函數還是擴展函數。中綴符號需要通過infix修飾符來進行標記
對於mapOf函數來說,它可以接收不定數量的Pair類型對象,因此我們也可以通過自定義的中綴調用符test來創建一個 map 變數
二、解構聲明
有時會有把一個對象解構成多個變數的需求,在 Kotlin 中這種語法稱為解構聲明
例如,以下例子將 Person 變數結構為了兩個新變數:name 和 age,並且可以獨立使用它們
一個解構聲明會被編譯成以下代碼:
其中的component1()和component2()函數是在 Kotlin 中廣泛使用的約定原則的另一個例子。任何表達式都可以出現在解構聲明的右側,只要可以對它調用所需數量的component函數即可
需要注意的是,componentN()函數需要用operator關鍵字標記,以允許在解構聲明中使用它們
對於數據類來說,其自動生成了componentN()函數,而對非數據類,為了使用解構聲明,需要我們自己來手動聲明函數
如果我們需要從一個函數返回兩個或者更多的值,這時候使用解構聲明就會比較方便了
這裡使用的是標準類 Pair 來包裝要傳遞的數據,當然,也可以自定義數據類
此外,解構聲明也可以用在 for 循環中
對於遍歷 map 同樣適用
同樣也適用於 lambda 表達式
如果在解構聲明中不需要某個變數,那麼可以用下劃線取代其名稱,此時不會調用相應的componentN()操作符函數
※為什麼學了編程語言還是不會做軟體?
※MQ 消息中間件的使用和重構系統之間的耦合
TAG:千鋒JAVA開發學院 |