0

我在我的 IDE(IntelliJ) 中编写了以下 scala 代码来创建一个匿名函数:

val hi = () => "Hi"

当我对我的 scala 代码进行脱糖时,IDE 会为我提供如下代码:

val hi: Function1[(), _root_.java.lang.String] = () => "Hi"

但它给出了错误:'=>' expected but ',' found.

  1. 我很想知道匿名函数的函数类型。
  2. 我也想知道为什么 IDE 给我这个实际上是抛出错误的结果。
4

1 回答 1

1

正如 Luis 所说,hi是一个没有输入参数的函数,它产生 a String,因此它的类型是Function0[String]

例如,如果它是这样定义的,它将是Function1[String, String]

val hi1 = (name: String) => s"Hi $name"
于 2021-09-06T18:04:48.813 回答