两数之和

19 阅读2分钟

一、常规函数定义回顾

通过 def 关键字定义常规函数,比如下面这个计算两数之和的函数:

def sum(x: Int, y: Int): Int = {
  x + y
}

二、函数字面量基础

(一)基本形式

函数字面量的基本形式,看起来就像给变量赋值一样,示例如下:

scala

val sum1 = (x: Int, y: Int) => { x + y }

(二)特殊简写方式

函数字面量还有一些特殊的简写形式,让代码更加简洁。

函数体只有一句代码,省略 {}

当函数字面量的函数体只有一句代码时,可以省略 {}

val sum2 = (x: Int, y: Int) => x + y

三、代码演示与运行结果

object class22 {
    // 定义一个函数,计算两数的和
    def sum(x: Int, y: Int): Int = {
      x + y
    }

    // 字面量语法:看起来就像给变量赋值
    val sum1 = (x: Int, y: Int) => { x + y }
    /*
     要点:
     1. 有一个箭头符号 =>
     2. 省略def,省略了返回值类型
     */
    /*
     特殊的写法-简写
     1. 函数只有一句代码,可以省略 {}
     2. 如果参数只使用了一次,那么可以用 _ 来代替。要加上函数的返回值
     */
    val sum2 = (x: Int, y: Int) => x + y
    val sum3: (Int, Int) => Int = { _ + _ }

    def main(args: Array[String]): Unit = {
      val a = 2
      val n = 5
      println(s"a + n = ${sum1(a, n)}")
      println(s"a + n = ${sum2(a, n)}")
      println(s"a + n = ${sum3(a, n)}")
    }
  }

四、总结

要点:

1一个箭头符号 =>
2. 省略def,省略了返回值类型

特殊的写法-简写

 1. 函数只有一句代码,可以省略 {}
 2. 如果参数只使用了一次,那么可以用 _ 来代替。要加上函数的返回值

计算两个整数之和的多种实现方式:

    1. 常规的 sum 方法
    1. 三种不同形式的函数字面量(sum1、sum2、sum3)
  • 3 main 方法中演示了如何调用这些求和方法并输出结果