scala方法与函数区别

目标:

Scala中的方法与函数的定义及其语法规则


路径:

  • 定义方法的语法
  • 方法定义的规则
  • 定义函数的语法
  • 函数定义的规则
  • 方法与函数的区别

实施:

定义方法的语法

def funcName(args1:Type1,args2:Type2……):ResultType = {
    
    
	//方法体
}

举例:
scala> def m1(a:Int,b:Int):Int = {
    
    
     |     a + b
     | }
m1: (a: Int, b: Int)Int

方法定义的规则

  • 方法定义的关键字为def
  • 如果方法体只有一行,{}可以省略
  • 没有return关键字,使用方法体的最后一行【值或者表达式】作为返回值
  • 大多数情况下返回值类型也可以自动推断,可以不写,递归方法除外

函数的定义的语法

(参数) => {
    
    
	//函数体
}

举例:
scala> (x:Int) => x + 5
res33: Int => Int = <function1>

函数的定义的规则

  • 函数通过=>进行标记:用于区分方法【def】和函数
  • 如果函数体只有一行,可以省略{}
  • 没有return关键字,使用函数体的最后一行作为返回值
  • Scala中函数的本质就是对象,每个函数就是一个FunctionN类的实例,N表示参数个数
  • 调用函数的本质是调用了这个对象的方法实现的
  • 所以要定义、调用函数,必须指定参数列表,不然只是定义或者调用了这个对象,而不是这个对象的方法

方法与函数的区别

  • 类中定义的称为方法
  • 与类没有关系的函数定义,称为函数
  • 方法:由方法名、参数、方法体构成,一般指的是类中定义的函数即为方法
  • 函数:由函数名、参数、函数体构成,一般指的是可以独立构建的称为函数
  • 方法如果定义时没有参数,调用时可以不加括号
  • 函数不论是否定义了参数,必须加括号

Guess you like

Origin blog.csdn.net/tian_1_2_3/article/details/121712619