scala函数

函数定义

//推荐使用
scala> val fun = (x:Int,y:Int) => x+y
fun: (Int, Int) => Int = <function2>

scala> fun(1,3)
res62: Int = 4


scala> val funs = (_:Int)+(_:Int)
funs: (Int, Int) => Int = <function2>

scala> funs(1,2)
res63: Int = 3


scala> val fun = (x:Int,y:Int)=>if(x<y)x else y
fun: (Int, Int) => Int = <function2>

scala> fun(3,2)
res69: Int = 2

//无参函数
scala> val fun = () =>println("123")
fun: () => Unit = <function0>

方法和函数的区别:
1.定义语法不同
2.方法一般定义在类,特质或者object中,
3.方法可以共享所在的类,特质,或者object中的属性
4.方法可以调用函数
联系
(1)可以把函数作为参数传递给方法

scala>  def m(f:(Int,Int)=>Int) = f(2,3)
m: (f: (Int, Int) => Int)Int

scala> val f = (x:Int,y:Int) => x+y
f: (Int, Int) => Int = <function2>

scala> m(f)
res74: Int = 5

(2)方法可以转换成函数
a.把一个方法作为参数传递给其他方法或者函数
b.通过下划线做转换 方法名 _


scala> def m2(x:Int,y:Int) = x- y
m2: (x: Int, y: Int)Int

scala> m(m2)
res75: Int = -1

scala> m2 _
res76: (Int, Int) => Int = <function2>

scala> m(m2 _)
res77: Int = -1

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 桃花落,闲池阁,山盟虽在,锦书难托,莫,莫,莫! 「函数(Function)」是函数式编程的基本单元。本文将重点讨...
    刘光聪阅读 4,098评论 6 13
  • 最常见的是object内部的成员函数,直接通过object名称调用此外Scala还有内嵌在函数中的函数,函数字面量...
    wangdy12阅读 540评论 0 0
  • “执大象,天下往。往而不害,安平太。乐与饵,过客止。道之出口,淡乎其无味,视之不足见,听之不足闻,用之不足既。”[...
    南宋临安府阅读 787评论 0 0
  • Swift1> Swift和OC的区别1.1> Swift没有地址/指针的概念1.2> 泛型1.3> 类型严谨 对...
    cosWriter阅读 11,144评论 1 32
  • 函数声明scala函数声明格式如下: 函数定义 方法定义由一个def 关键字开始,紧接着是可选的参数列表,一个冒号...
    Bloo_m阅读 664评论 0 0