我一直在按照《Play! Framework Essentials》这本书的指示进行操作,有时我看到控制器中的一个动作使用def定义,而有时使用val定义。
我知道 def 在调用时会重新评估表达式,而 val 则会立即评估表达式,但在控制器动作的上下文中,是否有任何区别呢?
以下是示例代码:
object Items extends Controller {
val list = Action { implicit request =>
...
}
val create = Action { implicit request =>
...
}
def details(id: Long) = Action { implicit request =>
...
}
def update(id: Long) = Action { implicit request =>
...
}
}