本篇內(nèi)容主要講解“scala傳名參數(shù)怎么使用”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實(shí)用性強(qiáng)。下面就讓小編來帶大家學(xué)習(xí)“scala傳名參數(shù)怎么使用”吧!
創(chuàng)新互聯(lián)建站-專業(yè)網(wǎng)站定制、快速模板網(wǎng)站建設(shè)、高性價比個舊網(wǎng)站開發(fā)、企業(yè)建站全套包干低至880元,成熟完善的模板庫,直接使用。一站式個舊網(wǎng)站制作公司更省心,省錢,快速模板網(wǎng)站建設(shè)找我們,業(yè)務(wù)覆蓋個舊地區(qū)。費(fèi)用合理售后完善,十載實(shí)體公司更值得信賴。
傳名參數(shù) 僅在被使用時觸發(fā)實(shí)際參數(shù)的求值運(yùn)算。它們與 傳值參數(shù) 正好相反。要將一個參數(shù)變?yōu)閭髅麉?shù),只需在它的類型前加上 =>
。
def calculate(input: => Int) = input * 37
傳名參數(shù)的優(yōu)點(diǎn)是,如果它們在函數(shù)體中未被使用,則不會對它們進(jìn)行求值。另一方面,傳值參數(shù)的優(yōu)點(diǎn)是它們僅被計算一次。以下是我們?nèi)绾螌?shí)現(xiàn)一個 while 循環(huán)的例子:
def whileLoop(condition: => Boolean)(body: => Unit): Unit =
if (condition) {
body
whileLoop(condition)(body)
}
var i = 2
whileLoop (i > 0) {
println(i)
i -= 1
}
方法 whileLoop
使用多個參數(shù)列表來分別獲取循環(huán)條件和循環(huán)體。如果 condition
為 true,則執(zhí)行 body
,然后對 whileLoop 進(jìn)行遞歸調(diào)用。如果 condition
為 false,則永遠(yuǎn)不會計算 body,因為我們在 body
的類型前加上了 =>
。
現(xiàn)在當(dāng)我們傳遞 i > 0
作為我們的 condition
并且 println(i); i-= 1
作為 body
時,它表現(xiàn)得像許多語言中的標(biāo)準(zhǔn) while 循環(huán)。
如果參數(shù)是計算密集型或長時間運(yùn)行的代碼塊,如獲取 URL,這種延遲計算參數(shù)直到它被使用時才計算的能力可以幫助提高性能。
到此,相信大家對“scala傳名參數(shù)怎么使用”有了更深的了解,不妨來實(shí)際操作一番吧!這里是創(chuàng)新互聯(lián)網(wǎng)站,更多相關(guān)內(nèi)容可以進(jìn)入相關(guān)頻道進(jìn)行查詢,關(guān)注我們,繼續(xù)學(xué)習(xí)!
新聞標(biāo)題:scala傳名參數(shù)怎么使用
本文路徑:http://aaarwkj.com/article48/ihhihp.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供全網(wǎng)營銷推廣、、手機(jī)網(wǎng)站建設(shè)、企業(yè)建站、小程序開發(fā)、App設(shè)計
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)