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 语句定义方法。

 

总结:

  1. 函数val => 方法def  ={}
  2. 函数可以作为表达式单独存在,比如单独放置函数,会出现签名信息,方法不能单独出现,只能被调用。
  3. 函数是头等公民,函数式编程(方法不能定义规范,一旦被调用就得去实现,函数可以定义规范而不去实现)。
  4. 方法和函数在本质上几乎一样,方法就是函数的另一种体现形式。
  5. 函数和和方法进行转换  空格+下划线,也可以自动转换。
  6. 在方法中传递的都是函数【自动转换】。
  7. 在scala编程的时候优先使用函数,但是方法用的比较多。

 

posted @ 2022-01-27 17:37  不咬牙  阅读(94)  评论(0)    收藏  举报