惰性财产的目的是什么?分别是什么?
Kotlin 语言文档:https://kotlinlang.org/docs/deleated-properties.html#lazy-properties
节省内存?还是别的什么?
可能有以下一个或多个相关因素:
按照您的建议,该值可能需要大量内存来存储。
该值可能需要大量时间/精力才能生成(例如 CPU 负载和/或对外部服务的调用)。
该值可能会过时。
在实例构建完成之前(可能在一些构建后设置之后),可能无法生成该值。
其中一些原因纯粹与效率有关。 对于这些,您需要考虑一些因素,例如需要该值的可能性有多大、生成它可能需要多长时间、构建时的延迟是否比首次使用该值时的延迟更重要或更不重要。 ,等等。
但是其他原因可能会影响程序是否运行以及如何运行,因此对于这些原因,惰性可能是必要的。
无论哪种方式,拥有一种简单、简洁、健壮的方式来实现惰性属性都是对 Kotlin 的一个非常有用的补充。 (特别是因为它可以在标准库中完成,而不影响语言本身。)