Scala 函式基本用法
阿新 • • 發佈:2020-12-25
- scala 函式可以實現所有面向物件的功能、一切都是函式
- 函式最重要的是“引數是什麼”和“返回值是什麼”
package com.abc
// scala函式
object Fun {
def main(args: Array[String]): Unit = {
// 普通
// 1、無參無返回值
fun1()
fun1_1()
// 2、有參無返回值
fun2("引數")
// 3、無參有返回值
fun3()
// 4、有參有返回值
fun4("引數+返回值" )
// 進階
// 5、引數作為函式:()=>Unit
fun5(arg_fun)
// 6、函式作為返回: _
fun6()()
// 7、邏輯作為引數:=>Unit
fun7({println("7、邏輯引數")})
// 高階
// 8、函式賦值給變數
val v = (i:Int) => i + i
println("8、函式賦值給變數", v(8))
// 9、函式賦值給函式
// 閉包(把函式外的變數包進自己的函式體內)與函式柯里化
def fun9(i:Int) = (j:Int) => i * j
val ke1 = fun9(2)
println("9、函式賦值給函式", ke1, ke1(4))
}
def fun1():Unit={
println("1、無參無返回值")
}
def fun1_1(){
println("1_1、無參無返回值【簡寫】")
}
def fun2(arg:String){
println(s"2、有參無返回值:$arg")
}
def fun3():String={
println("3、無參有返回值")
val result = "返回值"
result
}
def fun4(arg:String):String={
println(s"4、有參有返回值:$arg")
arg
}
def fun5(f:()=>Unit){
f()
}
def fun6()={
result_fun _
}
def fun7(arg: => Unit)={
arg
}
def arg_fun(): Unit ={
println("5、函式引數")
}
def result_fun(): Unit ={
println("6、返回函式")
}
}
- 執行結果
1、無參無返回值
1、無參無返回值
1_1、無參無返回值【簡寫】
2、有參無返回值:引數
3、無參有返回值
4、有參有返回值:引數+返回值
5、函式引數
6、返回函式
7、邏輯引數
(8、函式賦值給變數,16)
(9、函式賦值給函式,<function1>,8)