gpt4 book ai didi

function - Scala 定义函数标准

转载 作者:行者123 更新时间:2023-12-01 12:54:54 25 4
gpt4 key购买 nike

以下是等价的:

scala> val f1 = {i: Int => i == 1}
f1: Int => Boolean = <function1>

scala> val f2 = (i: Int) => i == 1
f2: Int => Boolean = <function1>

我更熟悉前者(来自 Groovy),但后一种形式更常见,据我所知,这是在 Scala 中定义函数的标准方式。

我应该忘记过去(Groovy)并采用第二种形式吗?第一种形式对我来说更自然,因为它看起来类似于定义闭包(函数)的 Groovy/Ruby/Javascript 方式

编辑
请参阅 Zeiger 在 this thread 中的回答,例如,groovy/ruby/javascript 闭包 {=>} 语法似乎比 () => 更自然 我假设两者可以互换使用,具有相同的性能,能力传递等等,唯一的区别是语法

最佳答案

我认为这是品味问题(scala styleguide 推荐第一个)。前者允许您编写多行(主体中有 2 行)函数:

val f1 = { i: Int =>
val j = i/2
j == 1
}

有时候有用

关于function - Scala 定义函数标准,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10386124/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com