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
    }

}


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