下面是一个代码示例,我不明白lazyVar是什么意思。甚至我也试过谷歌搜索,但我没有看到任何与lazyVar相关的东西。我是来看懒人的,但不是lazyVar。
`
@Test
fun testLazyVar() {
var testVar: String by lazyVar { "initial" }
assertEquals("initial", testVar)
testVar = "test"
assertEquals("test", testVar)
}`
1条答案
按热度按时间n6lpvg4x1#
这是一个名为“test lazy var”的单元测试,所以我假设
lazyVar
是在同一个项目中定义的函数,这是他们测试它的地方。(编写单元测试来测试外部库代码通常是没有意义的。)您必须浏览项目才能找到它。如果在IDE中打开项目,则可以按住Ctrl键并单击该项目以跳转到定义该项目的代码。编辑:我看到这个项目是一个名为Renetik的实用程序库,包含作者认为对一般Kotlin开发有用的函数和类。
lazyVar
函数和底层类被定义为here。它是Kotlin标准库
lazy
委托的替代品,支持将委托用于var
属性,因为lazy
仅支持val
属性。它不支持像lazy
那样禁用线程安全。这个库的自述文件只是简单地展示了这些函数的单元测试,以此来展示它们应该完成什么。也许这个库还是新的,或者作者没有时间编写文档。