每天學(xué)習(xí)一點(diǎn)Scala05_函數(shù)-創(chuàng)新互聯(lián)

  1. Scala將函數(shù)當(dāng)作一等公民;一個(gè)函數(shù)可以像一個(gè)變量一個(gè)被使用;

    十余年的太仆寺網(wǎng)站建設(shè)經(jīng)驗(yàn),針對(duì)設(shè)計(jì)、前端、開發(fā)、售后、文案、推廣等六對(duì)一服務(wù),響應(yīng)快,48小時(shí)及時(shí)工作處理。營(yíng)銷型網(wǎng)站建設(shè)的優(yōu)勢(shì)是能夠根據(jù)用戶設(shè)備顯示端的尺寸不同,自動(dòng)調(diào)整太仆寺建站的顯示方式,使網(wǎng)站能夠適用不同顯示終端,在瀏覽器中調(diào)整網(wǎng)站的寬度,無論在任何一種瀏覽器上瀏覽網(wǎng)站,都能展現(xiàn)優(yōu)雅布局與設(shè)計(jì),從而大程度地提升瀏覽體驗(yàn)。創(chuàng)新互聯(lián)公司從事“太仆寺網(wǎng)站設(shè)計(jì)”,“太仆寺網(wǎng)站推廣”以來,每個(gè)客戶項(xiàng)目都認(rèn)真落實(shí)執(zhí)行。
  2. 函數(shù)可以作為輸入?yún)?shù)傳給另一個(gè)函數(shù);

  3. 函數(shù)可以定義為一個(gè)匿名函數(shù)字面量,就像字符串字面量;

  4. 函數(shù)可以被賦給一個(gè)變量;

  5. 可以在一個(gè)函數(shù)內(nèi)定義函數(shù);

  6. 函數(shù)可以作為另外一個(gè)函數(shù)的返回值;

  7. 在Scala中,使用關(guān)鍵字def定義函數(shù);格式如下:

    def 函數(shù)名(參數(shù)1:數(shù)據(jù)類型,參數(shù)2:數(shù)據(jù)類型):輸出類型 = { 函數(shù)體 }

  8. 例:

    def add(firstInput:Int,secondInput:Int):Int = {

     val sum = firstInput + secondInput;

     return sum;

    }

  9. 上例的簡(jiǎn)潔版本如下(省略了輸出類型,scala會(huì)自動(dòng)進(jìn)行類型推斷):

    def add(firstInput:Int,secondInput:Int) = firstInput + secondInput

  10. Scala支持不同類型的函數(shù),包括:

    1. 方法.一個(gè)對(duì)象的成員函數(shù)稱為方法.該方法可以訪問所屬對(duì)象的所有字段;

    2. 本地函數(shù).在另一個(gè)函數(shù)或方法內(nèi)部定義的函數(shù)稱為"本地函數(shù)";它能訪問外部函數(shù)的變量和輸入?yún)?shù).本地函數(shù)只對(duì)它所定義的外部函數(shù)可見.

    3. 高階方法(higher-order method).一個(gè)將一個(gè)函數(shù)作為輸入?yún)?shù)的方法,稱為"higher-order method".類似的,一個(gè)high-order function是將另一個(gè)函數(shù)作為輸入的函數(shù).高階方法和高階函數(shù)幫助減少代碼重復(fù).此外,使用它們還可以寫出更簡(jiǎn)潔的代碼;

      下面是一個(gè)簡(jiǎn)單的高階函數(shù):

      def encode(n:Int,f:(Int)=>Long):Long = {

       val x = n * 10;

       f(x);

      }

      這段代碼輸入兩個(gè)參數(shù),返回一個(gè)Long類型的值.第一個(gè)輸入?yún)?shù)類型是Int.第二個(gè)輸入?yún)?shù)類型是一個(gè)函數(shù)f,此函數(shù)f需要一個(gè)Int類型輸入?yún)?shù),并返回一個(gè)Long類型值.

    4. 函數(shù)字面量.函數(shù)字面量指的是一個(gè)未命名或匿名函數(shù).在程序中可以像使用一個(gè)字符串變量一樣使用它.它還可以作為一個(gè)輸入?yún)?shù)傳遞給一個(gè)高階方法或高階函數(shù).另外,它也可以被賦給一個(gè)變量.下面是一個(gè)函數(shù)字面量的例子:

      (x:Int) => {

       x + 100;

      }

      字面量函數(shù)的定義是使用一個(gè)小括號(hào),里面是輸入?yún)?shù),后跟一個(gè)右箭頭和一個(gè)函數(shù)體.

      上面代碼的一個(gè)簡(jiǎn)寫版本是: (x:Int) => x + 100;

    5. 之前定義的高階函數(shù)encode可以使用一個(gè)函數(shù)字面量作為輸入?yún)?shù),如下所示:

      val code = encode(10,(x:Int) => x + 100);

另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國(guó)服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡(jiǎn)單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場(chǎng)景需求。

網(wǎng)站題目:每天學(xué)習(xí)一點(diǎn)Scala05_函數(shù)-創(chuàng)新互聯(lián)
鏈接地址:http://muchs.cn/article14/dsjpge.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供定制開發(fā)、網(wǎng)站收錄電子商務(wù)、微信公眾號(hào)、網(wǎng)站營(yíng)銷營(yíng)銷型網(wǎng)站建設(shè)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

成都網(wǎng)站建設(shè)