无参函数

43 阅读1分钟

在 Scala 中,无参函数(Parameterless Functions)  是指不接收任何参数的函数。它们的定义和调用方式与带参函数略有不同,且根据是否显式声明空参数列表,分为两种形式,各有其使用场景。

1。显式声明空参数列表(()

定义时明确写出 () 作为参数列表,调用时可以加 () 也可以不加(但推荐加,以明确是函数调用)。

// 定义:显式空参数列表
def greet(): String = "Hello, World!"

// 调用方式
greet()   // 正确,输出:Hello, World!
greet     // 也正确(Scala 允许省略,但不推荐,可能与变量混淆)

2.不声明参数列表(无 ()

定义时完全省略参数列表,调用时必须不加 () ,否则会报错。这种形式通常用于 “类似属性” 的函数(无副作用,逻辑简单)。

// 定义:无参数列表
def currentTime: Long = System.currentTimeMillis()

// 调用方式
currentTime   // 正确,返回当前时间戳
currentTime() // 错误!编译报错(无参数列表的函数不能加 () 调用)