scala函数和方法

mac2026-04-26  9

方法的定义: 方法总结: 1.对于只有一行代码的方法体,可以省略{} 2.可以不写返回值类型(定义递归方法时除外,必须带返回值类型,否则不知道返回值类型) def qiuhe = (x:Int,x:Int) = {x+y} 3.定义的方法若没有返回值,则不用写=号,(若不写=号,即使有返回值也不返回):返回值类型为Unit,其实()是Unit的一个实例对象,如上图标注1 4.若定义的方法,要求有返回值,则定义方法时,必须要有等号,但可以不写返回值类型(定义递归函数除外) 5.若定义的方法没有参数,则调用时,可以直接写参数名而不带括号 6.定义没返回值类型的方法时,可以写上返回值类型:Unit 7.定义的方法即使没有返回值,也可以写等号,编译器会自动推断 8:返回值不用return 9:方法可以没有返回值,也就是Unit

函数的定义及使用:

函数总结: 1:对于只有单行的函数体,可以省略{} 2:匿名函数往往做为方法的参数被调用; 3:一般会将定义的函数赋值给一个变量(相当于函数起名),后续直接通过这个变量进行调用即可 4:函数可以没有返回值,也就是返回值类型为:Unit

scala中函数和方法的区别: 1.scala中,函数是"头等公民",方法不能直接被方法做为参数进行调用,需要先转换为函数(神奇的下划线,scala中,当方法作为参数被调用时,自动进行了转换:通过_下划线); 2.函数可以作为方法的参数被直接调用 3.二者定义方式不同,方法用def定义,函数没有,可以直接定义匿名函数或者函数赋值给变量,后续用变量名称调用 4.方法定义可以没有参数列表,甚至可以省略(),如 def lol() = 8 或者def lol = 8 ,对函数来说,即使函数没有参数,也要写(),不能省略,如: val lol2 = ()=>5

最新回复(0)