scala函数

函数定义:

      1       2     3

  def   f(x:Int , y:Int) :Int ={      

  ......

  }

f为函数名

x,y为传入参数,后面是类型定义,3处Int是返回的值的类型定义。

 

分号判断:

  scala可以自动推断,一行只有一条完整语句,那么分号可写可不写。如果有多行语句,则必须用分号隔开。

  三种情况句末不会推断分号:

    1.以非法字符结尾 , 例如 “.”

    2.句首以非法字符开始

    3.跨行出现()或{}

 

返回结果:

  scala里存在return关键字,同时默认情况下,编译器会自动返回函数团的最后一个表达式的值。

  返回结果的类型也可以根据参数类型和返回的表达式自动推断 ,也就是说上例中3处Int可以忽略。

  返回结果也有一种特殊的类型Unit ,表示没有返回值,不会放回函数体的最后一句。

 

嵌套函数:

  函数1内部可以定义一个函数2,此时函数2的作用域在函数1的函数体内。

 

函数等价:

  函数的低位与Int 等其他类型变量同等低位,Int值可以作为函数的参数,函数的返回值,定义在函数体内,那么函数也是可以的。

 

函数字面量:

  函数字面量是一种匿名函数。

  

 

闭包:

  一个函数除了可以使用它的参数外还可以使用定义在函数外的其他变量

 

具名参数:

  普通函数传递参数是逐个传递的,但也可以用显示申明参数名并给其赋值,则无视顺序。

  

 

重复参数:

  scala允许把函数的最后一个参数标记为重复参数,其形式为在最后一个参数类型后加 “ * ” 。

  

 

posted @ 2020-11-05 22:32  yin101  阅读(130)  评论(0)    收藏  举报