Scala入門 函式

2021-10-02 15:11:18 字數 1020 閱讀 3536

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...