Scala-簡明速學02-函數

Scala 簡明速學02 函數

變長參數

Scala中可以將函數參數定義爲參數個數可變的形式,稱爲變長參數。
注意變長參數的類型實際爲scala.collection.mutable.WrappedArray[T]


object variableLengthArgument {

    def sum(nums: Int*): Int = {
        //scala.collection.mutable.WrappedArray.ofInt
        println(nums.getClass.getCanonicalName)

        var sum = 0
        for (num <- nums) {
            sum += num
        }
        sum
    }

    def main(args: Array[String]): Unit = {
        println(sum(1, 2, 3)) //參數爲Range,爲Sequence的子類型
        println("============================")
        val lst = 1 to 5 //類型爲range
        println(sum(lst: _*))//Range轉爲Sequence,這樣纔可以在調用中應用可變參數
        println(sum(1 to 5: _*))
    }

}


過程

Scala中定義函數時,如果沒有使用=連接,則函數的返回值類型爲Unit。將函數的返回類型爲Unit的函數稱之爲過程

package com.random.scala.t1

object FunctionReturnUnit {

    def f1 {
        println("f1")
    }

    def f2() {
        println("f2")
    }


    def f3(): Unit = {
        println("f3")
    }

    def main(args: Array[String]): Unit = {
        f1
        f2()
        f2
        f3()
        f3
    }

}


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章