我来自Swift背景。Swift既有"价值",也有"价值"。类型,"reference"类型支持,我有点好奇。Kotlin有类似的概念吗?
默认情况下,任何类都是引用类型。然而,经过一番挖掘,我发现了"数据类"。在Kotlin中表现为值类型。
我没有从官方文件中得到明确的信息。https://kotlinlang.org/docs/data-classes.html
有人能帮助理解这个概念吗?
Kotlin中的数据类与常规类没有太大区别。它们作为对堆上对象的引用来表示和传递。
Kotlin对value/inline类的支持有限:
value class Password(private val s: String)
不幸的是,到目前为止,每个类只能有一个字段。
您可以在KEEP中找到更多信息,包括在Valhalla项目之前/之后是否支持多个字段的推理:https://github.com/Kotlin/KEEP/blob/master/notes/value-classes.md