作为属性的get()方法的结果,调用匿名/ lambda函数

时间:2019-03-19 21:08:51

标签: lambda kotlin

假设我们有一个“ Test”类,该类具有实现get()方法的属性“ testProperty”,那么我们可以轻松地将get()方法的值分配给助手方法的结果:

class Test {
    val testProperty: Int
        get() = testFun()

    private fun testFun() : Int {
        // Some fun with numbers
        return result
    }
}

由于这是一种仅用于通过get()方法返回结果的方法而创建的方法,是否可以通过某种方式使它匿名化?

get() = {() -> 
        // Some fun with numbers
        result
    }()

1 个答案:

答案 0 :(得分:1)

是的,get()是具有隐式返回类型的函数,因此您可以根据需要内联其余代码。例如:

class Test {
  val testProperty: Int
    get() {
      // some fun with numbers
      return result
    }
}