scala支援函式式程式設計,將來編寫spark/flink程式中,會大量使用到函式
語法
val 函式變數名 = (引數名:引數型別, 引數名:引數型別....) => 函式體
[!tip]
示例
定義乙個兩個數值相加的函式
呼叫該函式
參考**
scala> val add = (x:int, y:int) => x + y
add: (int, int) => int = scala> add(1,2)
res3: int = 3
示例
方法無法賦值給變數
scala> def add(x:int,y:int)=x+y
add: (x: int, y: int)int
scala> val a = add
:12: error: missing argument list for method add
you can make this conversion explicit by writing `add _` or `add(_,_)` instead of `add`.
val a = add
示例
定義乙個方法用來進行兩個數相加
將該方法轉換為乙個函式,賦值給變數
參考**
scala> def add(x:int,y:int)=x+y
add: (x: int, y: int)int
scala> val a = add _
a: (int, int) => int =
Scala高階函式入門
概述高階函式是指使用其他函式作為引數 或者返回乙個函式作為結果的函式。在scala中函式是 一等公民 所以允許定義高階函式。這裡的術語可能有點讓人困惑,我們約定,使用函式值作為引數,或者返回值為函式值的 函式 和 方法 均稱之為 高階函式 1.作為值的函式 在scala中,函式就像其他資料一樣,你可...
scala入門 (五) scala高階函式用法
前言 上一節對scala的匹配模式,做了乙個大致的介紹。這一節將對scala的高階函式進行乙個入門。作為一門函式式程式語言,想要用好這門語言,scala函式的高階用法還是比較重要的。同樣再介紹相關知識的時候,會和python進行對比。字串高階操作 格式化字串操作 在python中格式字串的方式比較多...
Scala入門系列(二) Scala函式基礎介紹
2 匿名函式 3 高階函式 4 函式巢狀 5 柯里化 6 隱式引數 7 命名引數 8 引數預設值 函式是scala的核心 def 函式名 引數列表 返回值 列1 def square x int int 列2 def sayhello x string unit 函式呼叫 square 10 say...