Kotlin中的lazyVar是什么意思

0s7z1bwu  于 2023-06-24  发布在  Kotlin
关注(0)|答案(1)|浏览(161)

下面是一个代码示例,我不明白lazyVar是什么意思。甚至我也试过谷歌搜索,但我没有看到任何与lazyVar相关的东西。我是来看懒人的,但不是lazyVar。

`
 @Test
    fun testLazyVar() {
        var testVar: String by lazyVar { "initial" }
        assertEquals("initial", testVar)
        testVar = "test"
        assertEquals("test", testVar)
    }`
n6lpvg4x

n6lpvg4x1#

这是一个名为“test lazy var”的单元测试,所以我假设lazyVar是在同一个项目中定义的函数,这是他们测试它的地方。(编写单元测试来测试外部库代码通常是没有意义的。)您必须浏览项目才能找到它。如果在IDE中打开项目,则可以按住Ctrl键并单击该项目以跳转到定义该项目的代码。
编辑:我看到这个项目是一个名为Renetik的实用程序库,包含作者认为对一般Kotlin开发有用的函数和类。lazyVar函数和底层类被定义为here
它是Kotlin标准库lazy委托的替代品,支持将委托用于var属性,因为lazy仅支持val属性。它不支持像lazy那样禁用线程安全。
这个库的自述文件只是简单地展示了这些函数的单元测试,以此来展示它们应该完成什么。也许这个库还是新的,或者作者没有时间编写文档。

相关问题