美文网首页Scala简明速学
Scala-简明速学02-函数

Scala-简明速学02-函数

作者: volkin | 来源:发表于2019-01-20 21:31 被阅读4次

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

    相关文章

      网友评论

        本文标题:Scala-简明速学02-函数

        本文链接:https://www.haomeiwen.com/subject/nwufjqtx.html