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