gpt4 book ai didi

kotlin - 如何为函数类型提供实现?

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

关于Kotlin中的功能类型
下面给出异常kotlin.UninitializedPropertyAccessException: lateinit property foo has not been initialized

class SomeClass (){
lateinit var foo: (String) -> Int
}

val result : Int = c.foo("hello")
println("result $result")

以下2个甚至不编译
class SomeClass (){
lateinit var foo: (String) -> Int = 1
}

class SomeClass (){
var foo: (String) -> Int = 1
}

如何提供 foo的实现?

最佳答案

您可以通过这种方式将foo函数声明为val

val foo: (String) -> Int = { someIntResult } 

并像 foo.invoke("")一样使用它,或者如果您需要使用 lateinit var,则应在以后的类(class)中对其进行初始化

关于kotlin - 如何为函数类型提供实现?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54712028/

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