您好,登錄后才能下訂單哦!
1、 定義
如果一個函數沒有名字的話,就是匿名函數了。只使用一次,并沒有多次調用
2、 匿名函數的使用場景
將匿名函數,直接賦值給變量
將匿名函數,作為函數的參數進行使用
3、 匿名函數的幾種表現形式?或者呈現形式
沒有參數輸入,沒有返回值的匿名函數
有參數輸入,沒有返回值的匿名函數
有參數輸入,有返回值的匿名函數
4、 匿名函數的語法規則,有兩種形式吧:[一種有輸入參數,一種沒有輸入參數]
(參數名:參數類型) => 函數體
函數體
package com.xej.learning.nimingFunction object AnonymousFunction { def main(args: Array[String]): Unit = { //對于有參數輸入的匿名函數,調用時,同樣要用參數輸入哦 kafkaName("apache kafka") println("--->:\t" + flumeName("apache flume")) sparkName //匿名函數的使用場景--1,作為參數,傳入給高階函數 //下面,map,foreach里,就是匿名函數 Array(3,2,1,5).map{(x: Int) => x + 2}.foreach(x => print(x + " ")) println("\n----------------------------------------------------") Array(3,2,1,5).map{_ + 1}.foreach(x => print(x + " ")) } //匿名函數的使用場景--2,直接賦值給變量 //參數:有參數輸入,函數體:無返回值,形式的匿名函數//函數體里,可能有很多條語句哦, //只是最終結果,是有返回值的 val kafkaName = (name: String) => println("--kafka-->" + name) //參數:有參數輸入,函數體:有返回值,形式的匿名函數 val flumeName = (name: String) => "--flume-->" + name //參數:無參數輸入,函數體:無返回值,形式的匿名函數 val sparkName = println("----this is spark------") }
spark源碼,marathon源碼中,都大量使用了匿名函數
下面是marathon源碼中的樣例
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。