美文网首页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-函数

    Scala 简明速学02 函数 变长参数 Scala中可以将函数参数定义为参数个数可变的形式,称为变长参数。注意变...

  • Scala-简明速学01-控制语句

    Scala-简明速学01-控制语句 while循环 Scala中的while循环基本与Java相似,但是Scala...

  • Scala 简明速学05 集合-Tuple

    Scala 简明速学05 集合-Tuple Tuple Scala中Tuple为单个键值对。

  • Scala 简明速学03 集合 Array和ArrayBuffe

    Scala 简明速学03 集合 Array和ArrayBuffer Array Scala中Array代表长度不可...

  • Scala-函数式编程

    Scala-函数式编程 1.函数式编程 1.1 面向对象和面向过程 面向对象 按照功能划分问题,将功能分解成不同的...

  • Scala 简明速学04 集合-Map

    Scala 简明速学04 集合-Map Map Scala中Map提供键值对集合。 Map的初始化 Scala中的...

  • scala-偏函数

    将包在大括号内的一组case语句封装为函数,称之为偏函数。partialFunction 是一个特质 为什么使用使...

  • 第05天C语言(00):笔记总结

    01-函数-基本概念 02-函数-定义格式 03-函数-调用过程 04-函数-注意点 05-函数-练习 06-函数...

  • Scala-方法和函数

    1、方法的定义 函数值的返回类型也可以不用指定,会自动判断 定义无返回值类型的方法如果方法体有多行语句,使用{}括...

  • Scala-方法和函数

    1、方法的定义 函数值的返回类型也可以不用指定,会自动判断 定义无返回值类型的方法如果方法体有多行语句,使用{}括...

网友评论

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

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