加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

Scala_方法和函数

发布时间:2020-12-16 18:54:17 所属栏目:安全 来源:网络整理
导读:方法的定义 def functionName([参数列表]) : [ return type] = { function body return []} 如果没有=和{}包裹的方法体,那么该方法被隐式申明为 抽象 (abstract) 方法 ,包含它的类就是 抽象类。 abstract class Test{ def hi(x : Int):Int def he(x : Int)

方法的定义

def functionName([参数列表]) : [return type] = {
  function body
  return []
}
  • 如果没有=和{}包裹的方法体,那么该方法被隐式申明为抽象(abstract)方法,包含它的类就是抽象类。
abstract class Test{
  def hi(x : Int):Int
  def he(x : Int){x + 1}
}
  • 当输入相同类型的参数个数无法确定时,可以使用变长参数,如:def sum(args : Int*) = {for(arg <- args) println(arg)}。
  • 如果方法体直接包裹在了花括号里面,而没有使用=连接,则方法的返回值就是(),其类型就是Unit,这样的方法就被称之为过程。可以为过程指定返回值类型为Unit,此时方法体中有return语句,方法返回值任然是Unit。

  • 不写明返回值的类型,程序会自行判断,最后一行代码的执行结果为返回值。

?

函数

Scala 方法是类的一部分,而函数是一个对象可以赋值给一个变量。

Scala 中的函数则是一个完整的对象,Scala 中的函数其实就是继承了 Trait 的类的对象。

Scala 中使用?val?语句可以定义函数,def?语句定义方法。

定义方式

1 class Test1{
2   def met(x : Int) = x + 10
3   val fun = (x : Int) => x + 10  
4 }
  • 方法是一个以def开头的带有参数列表(可以无参数列表)的一个逻辑操作块,这正如object或者class中的成员方法一样。(上面有定义说明)
  • 函数是一个赋值给一个变量(或者常量)的匿名方法(带或者不带参数列表),并且通过=>转换符号跟上逻辑代码块的一个表达式。=>转换符号后面的逻辑代码块的写法与method的body部分相同。

  • 方法名意味着方法调用,函数名只是代表函数自身。
  • 方法可以没有参数列表页可以是空的参数列表。
  • 函数必须设置参数列表,可以是空的参数列表,但一定要设置。

方法和函数的相互转换

  • 把 x => func(x) 简化为 func _ 或 func(_) 的过程称为函数转换成方法

  • 把 func(_)或 func _ 展开为 x => func(x) 的过程为方法转换成函数

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读