kotlin 基础 17 data 类

作者: zidea | 来源:发表于2019-04-16 06:17 被阅读11次
    kotlin.jpeg
    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 说的有点失去自己的特点了。

    kotlin_end.jpg

    相关文章

      网友评论

        本文标题:kotlin 基础 17 data 类

        本文链接:https://www.haomeiwen.com/subject/dejhiqtx.html