柚子快報邀請碼778899分享:Scala的一等公民和至簡原則
1. Scala 中,函數(shù)是一等公民具體體現(xiàn)在哪里
Scala 混合了面向對象特性和函數(shù)式的特性函數(shù)可以作為值傳遞:函數(shù)可以作為參數(shù)傳遞給其他函數(shù),也可以作為返回值返回給其他函數(shù)函數(shù)可以賦值給變量:和其他數(shù)據(jù)類型?樣,函數(shù)也可以賦值給變量,變量的類型就是函數(shù)的類型函數(shù)可以嵌套定義:在函數(shù)內部可以定義另外?個函數(shù),內部函數(shù)可以定義外部函數(shù)的變量Scala支持匿名函數(shù),可以直接定義并傳遞匿名函數(shù)
2. 說說 Scala 函數(shù)的至簡原則
方法和函數(shù)不建議寫 return 關鍵字,Scala 會使用函數(shù)體的最后一行代碼作為返回值;方法的返回值類型如果能夠推斷出來,那么可以省略,如果有 return 則不能省略返回值類型,必須指定;因為函數(shù)是對象,所以函數(shù)有類型,但函數(shù)類型可以省略,Scala 編譯期可以自動推斷類型;如果方法明確聲明了返回值為 Unit,那么即使方法體中有 return 關鍵字也不起作用;如果方法的返回值類型為 Unit,可以省略等號 = ;如果函數(shù)的參數(shù)類型如果能夠推斷出來,那么可以省略;如果方法體或函數(shù)體只有一行代碼,可以省略花括號 {} ;如果方法無參,但是定義時聲明了 () ,調用時小括號 () 可省可不??;如果方法無參,但是定義時沒有聲明 () ,調用時必須省略小括號 () ;如果不關心名稱,只關心邏輯處理,那么函數(shù)名可以省略。也就是所謂的匿名函數(shù);如果匿名函數(shù)只有一個參數(shù),小括號 () 和參數(shù)類型都能省略,沒有參數(shù)或參數(shù)超過一個的情況下不能省略 ();如果參數(shù)只出現(xiàn)一次,且方法體或函數(shù)體沒有嵌套使用參數(shù),則參數(shù)可以用下劃線 _ 來替代。
柚子快報邀請碼778899分享:Scala的一等公民和至簡原則
精彩文章
本文內容根據(jù)網(wǎng)絡資料整理,出于傳遞更多信息之目的,不代表金鑰匙跨境贊同其觀點和立場。
轉載請注明,如有侵權,聯(lián)系刪除。