1月27日
方法中的返回值:
1- 方法中返回值的关键字是return
2- 方法中如果最后没有返回值类型不能使用return关键字。

方法中没有返回值不能使用return关键字。

方法中不添加return关键字,返回值类型会自己适配。
3- 方法中如果使用return关键字,方法中必须添加返回值类型。

scala中的函数:function定义函数的时候不能添加()
1- 函数是Scala中的头等公民;
2- 函数是方法的另一种体现形式,也是一段代码的综合体;
3- 函数约等于方法 method 约等于 function;
4- Scala 中使用val定义函数,def定义方法。[scala中函数是可以被传递的,那么可以把函数理解为一个值,既然是值那么定义的时候使用val关键字]
5- Scala中定义方法的语法:
def methodName(args:Type...):returnType={ } //后置定语
6- Scala中定义函数的语法:
val functionName=(参数:参数类型.....)=>逻辑
val functionName=(number:Int,number1:Int)=>number1+number2
函数既然能被调用,那么函数中可以有参数,
函数既然能被调用,还得有逻辑,使用=>表示逻辑。

函数名称后面不能添加小括号,方法名称后如果没有参数可以不加( ),有参数必须添加()。
函数定义完成以后可以看到函数的签名信息:

1- 函数的签名信息: 函数名称:{参数类型,参数类型}=>返回值类型=<实现的接口名称>
2- function2: 参数有多少个,定义出来的函数签名信息function---N,但是最多不能超过0-22个。 【 函数参数个数: 最少0个,最多22个 】
3- FunctionN是一个trait特质【接口】,接口中都会有一个构造器apply(N参数)
我们声明的函数,其实是在实现特质,所参数只能放置22个。【其实定义好的函数不是自己定义的,而是在实现定义好的接口。】
函数的高级使用:
1-函数作为返回值:

2-函数作为方法的参数进行传递:

方法和函数的区别:
函数是方法的另一种体现形式,但是方法就是方法,只能被调用。
函数可以作为一个值【值是有签名信息的】在方法中作为参数进行传递,还能当成返回值使用。val age=20
Scala 有方法与函数,二者在语义上的区别很小。Scala 方法是类的一部分,而函数是一个对象可以赋值给一个变量。换句话来说在类中定义的函数即是方法。
Scala 中的方法跟 Java 的类似,方法是组成类的一部分。
Scala 中的函数则是一个完整的对象,Scala 中的函数其实就是继承了 Trait 的类的对象。
Scala 中使用 val 语句可以定义函数,def 语句定义方法。
总结:
- 函数val => 方法def ={}
- 函数可以作为表达式单独存在,比如单独放置函数,会出现签名信息,方法不能单独出现,只能被调用。
- 函数是头等公民,函数式编程(方法不能定义规范,一旦被调用就得去实现,函数可以定义规范而不去实现)。
- 方法和函数在本质上几乎一样,方法就是函数的另一种体现形式。
- 函数和和方法进行转换 空格+下划线,也可以自动转换。
- 在方法中传递的都是函数【自动转换】。
- 在scala编程的时候优先使用函数,但是方法用的比较多。
浙公网安备 33010602011771号