定义函数

48 阅读1分钟

Scala 函数定义摘要

基本语法格式

scala

def 函数名(参数列表): 返回类型 = {
    // 函数体
    // 最后一行表达式的值就是返回值
}

关键要点

1. 返回值类型

  • 显式声明def max(x: Int, y: Int): Int = { ... }
  • 类型推断: 可以省略返回类型,编译器自动推断
  • Unit类型: 表示函数没有返回值,相当于void

2. 参数定义

scala

def 函数名(参数名: 参数类型, 参数名: 参数类型): 返回类型

3. 函数体与返回值

  • 函数体是一个代码块,用 {} 包围
  • 最后一行表达式的值自动作为返回值
  • 不需要显式的 return 语句

4. 无参函数的特殊形式

scala

// 定义时没有参数列表
def say: Unit = { ... }

// 调用时也不加括号
say

一:定义函数(格式)

object bases2 {
  // 定义一个函数
  // 功能:求两个数的较大值
  def max(x: Int, y: Int): Int = {
    if (x > y)
      x
    else
      y
  }

  def main(args: Array[String]): Unit = {
    val rst = max(1, 100)
    println(s"${rst}")
  }
}

二:案例


object base32 {

  // 定义一个函数
  // 功能:求两个数的较大值
  // 格式:
  //  1. 有一个 =
  //  2. 返回值类型
  //  函数体的值是一个表达式或者语句的值,就是函数的返回值
  //  Unit = 表示没有返回值
  def max(x: Int, y: Int): Int = {
    val t = if (x > y) x else y
    t // 就是返回值
  }

  // 如果一个函数不需要参数,可以省略()
  def say: Unit = {
    println("helphelp---")
  }

  def main(args: Array[String]): Unit = {
    val rst = max(1, 100)
    println(s"${rst}")
    
    // 调用一个没有()的函数,也不要加()
    say
  }
}