Function 函数在Kotlin中是否为实例?

Function 函数在Kotlin中是否为实例?,function,kotlin,instance,Function,Kotlin,Instance,我在看书,看到一行字,上面写着 要调用fold,我们需要将函数类型的实例作为 论据 这给了我两个主要问题 什么是函数(或函数类型)的实例 函数(函数类型)如何具有实例 我在任何地方都找不到答案,请帮忙 什么是函数(或函数类型)的实例 函数类型被描述为(Parameters)->Result,它是 将是实现与该类型描述匹配的签名的任何函数 val function: (Int, Int) -> Int = { a, b -> a + b } 函数(函数类型)如何具有实例 就像java

我在看书,看到一行字,上面写着

要调用fold,我们需要将函数类型的实例作为 论据

这给了我两个主要问题

  • 什么是函数(或函数类型)的实例

  • 函数(函数类型)如何具有实例

  • 我在任何地方都找不到答案,请帮忙

  • 什么是函数(或函数类型)的实例
  • 函数类型被描述为
    (Parameters)->Result
    ,它是 将是实现与该类型描述匹配的签名的任何函数

    val function: (Int, Int) -> Int = { a, b -> a + b }
    
  • 函数(函数类型)如何具有实例
  • 就像java中的匿名类一样,函数可以表示为内联对象。 例如,在java中,您将拥有
    Consumer
    SAM类型(单一抽象方法类型),它只有
    accept(T):void
    方法。在kotlin中,该类型是
    (T)->Unit
    ,使用lambda表达式作为
    var consumer:(T)->Unit={println(it)}
    或函数引用创建该类型的实例。随后通过调用操作符
    consumer(x)
    或调用函数
    consumer.invoke(x)
    调用实例

  • 什么是函数(或函数类型)的实例
  • 函数类型被描述为
    (Parameters)->Result
    ,它是 将是实现与该类型描述匹配的签名的任何函数

    val function: (Int, Int) -> Int = { a, b -> a + b }
    
  • 函数(函数类型)如何具有实例
  • 就像java中的匿名类一样,函数可以表示为内联对象。
    例如,在java中,您将拥有
    Consumer
    SAM类型(单一抽象方法类型),它只有
    accept(T):void
    方法。在kotlin中,该类型是
    (T)->Unit
    ,使用lambda表达式作为
    var consumer:(T)->Unit={println(it)}
    或函数引用创建该类型的实例。随后通过调用操作符
    consumer(x)
    或调用函数
    consumer调用实例。调用(x)

    链接到的页面对其进行了详细解释。你读过页面的其余部分了吗?@JBNizet是的,我仍然不明白为什么它的函数类型实例而不仅仅是函数类型。
    (a:String)->Int
    是函数类型。{it:String->it.length}是此函数类型的实例。类型是您指定要告诉的。。。参数或返回类型的类型(如
    String
    Int
    (a:String)->Int
    )。类型的实例是具有该类型的值,如“hello”、42或
    {it:String->it.length}
    。链接到的页面对其进行了详细解释。你读过页面的其余部分了吗?@JBNizet是的,我仍然不明白为什么它的函数类型实例而不仅仅是函数类型。
    (a:String)->Int
    是函数类型。{it:String->it.length}是此函数类型的实例。类型是您指定要告诉的。。。参数或返回类型的类型(如
    String
    Int
    (a:String)->Int
    )。类型的实例是具有该类型的值,如“hello”、42或
    {it:String->it.length}