
data class Tut(
var title:String,
var courses:Int,
var author:String
)
data class 作为轻量级的 class 主要用于存储数据,类似最近学习的 go 和 rust 语言中struct
,主要用于定义数据的形状和结构
fun main(){
var angularTut = Tut("angular base tutorial",10,"zidea")
println(angularTut.hashCode())
println(angularTut.toString())
}
1093425654
Tut(title=angular base tutorial, courses=10, author=zidea)
复制副本
val tutCopy = angularTut.copy()
val tutCopy = angularTut.copy("copy angular base tutorial")
println(tutCopy.toString())
可以通过调用 componentx 方法按顺序获取对象的属性值
println(angularTut.component1()) // title
println(angularTut.component2()) // courses
val (title,_,author) = angularTut;
println(title)
println(author)
这里又看到 javascript 解构影子,现在语言间相互影响太深了,一个好的特征,你上了我马上也上。就像 rob pike 说的有点失去自己的特点了。

网友评论