1. 程式人生 > 其它 >Scala 函式基本用法

Scala 函式基本用法

技術標籤:Scalascala

  • 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)