柚子快報(bào)邀請(qǐng)碼778899分享:后端 Scala的函數(shù)至簡(jiǎn)原則
柚子快報(bào)邀請(qǐng)碼778899分享:后端 Scala的函數(shù)至簡(jiǎn)原則
對(duì)于scala語(yǔ)言來(lái)說(shuō),函數(shù)的至簡(jiǎn)原則是它的一大特色。下面讓我們一起來(lái)看看分別有什么吧!
函數(shù)至簡(jiǎn)原則:能省則?。?/p>
初始函數(shù)
def test(name:String):String={
return name
}
1、return可以省略,Scala會(huì)使用函數(shù)體的最后一行代碼作為返回值。
可以簡(jiǎn)化為:return省略
def test01(name:String):String={
name
}
2、如果函數(shù)體只有一行代碼,可以省略花括號(hào)。
可以簡(jiǎn)化為:{}省略
def test02(name:String): String = name
3、返回值如果可以推斷出來(lái),那么可以省略(: 和返回值類型一起省略)。
可以簡(jiǎn)化為:: String一起省略
def test03(name:String) = name
這個(gè)表達(dá)式是不是相當(dāng)于數(shù)學(xué)中函數(shù)表達(dá)式:f(x) = x
4、如果有return,則不能省略返回值類型,必須指定 5、如果函數(shù)明確聲明unit,那么即使函數(shù)體中使用return關(guān)鍵字也不起作用 6、如果期望是無(wú)返回值類型,那么可以省略等號(hào)。
def test06(name:String) {
name
}
在一些場(chǎng)景下,我們可以把這個(gè)叫做過(guò)程(process)。相當(dāng)于定義了一個(gè)即將要執(zhí)行的子過(guò)程,一行一行的執(zhí)行。 7、如果函數(shù)無(wú)參,但是聲明了參數(shù)列表,那么調(diào)用時(shí),小括號(hào)可寫可不寫。
def test07():String= {
println("hello world")
}
//調(diào)用
test07()
test07
8、如果函數(shù)沒(méi)有參數(shù)列表,那么函數(shù)定義時(shí),小括號(hào)可以省略,調(diào)用時(shí)小括號(hào)也必須省略。
def test08:Unit= {
println("hello world")
}
//調(diào)用
//test08() 這個(gè)會(huì)報(bào)錯(cuò)
test08
9、如果不關(guān)心函數(shù)名稱,只關(guān)心邏輯處理,那么函數(shù)定義名稱 可以省略
def test09(name:String):Unit= {
println(name)
}
可以簡(jiǎn)化為:
(name:String ) => {println(name)}
柚子快報(bào)邀請(qǐng)碼778899分享:后端 Scala的函數(shù)至簡(jiǎn)原則
相關(guān)文章
本文內(nèi)容根據(jù)網(wǎng)絡(luò)資料整理,出于傳遞更多信息之目的,不代表金鑰匙跨境贊同其觀點(diǎn)和立場(chǎng)。
轉(zhuǎn)載請(qǐng)注明,如有侵權(quán),聯(lián)系刪除。