解构声明

data class Student(var name: String, var age: Int)

val student = Student("John", 12)
val (name, age) = student
println("name is $name , $age years old")
  1. 支持解构声明的对象的类必须是数据类(使用data关键字修饰的类),因为只有data class才会生成对应的component()方法
  2. 解构声明实际上就是将对象中所有属性,解构成一组属性变量,每个属性值的获得最后都编译成通过调用与之对应的component()方法,每个component()方法对应着类中每个属性的值,然后在作用域定义各自属性局部变量,这些局部变量存储着各自对应属性的值,所以看起来变量可以单独使用,实际上使用的是局部变量。
  3. 解构声明中解构对象的属性是可选的,也就是并不是要求该对象中所有属性都需要解构,也就是可选择需要解构的属性。可以使用下划线"_"省略不需要解构的属性也可以不写改属性直接忽略。
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 一、什么是解构声明 在 Koltin 中可以把一个对象赋值给多个变量,这种操作叫做解构声明(Destructuri...
    SheHuan阅读 11,281评论 0 9
  • Kotlin解构声明详解 有时把一个对象解构成很多变量会很方便,例如: 这种语法称为解构声明 。一个解构声明同时创...
    leofight阅读 4,026评论 0 1
  • 解构声明 在现代语言中常常拥有结构声明用语简化代码,例如JavaScript与Kotlin,但是在Java中却没有...
    程序引力阅读 5,762评论 0 0
  • 宋代著名诗人陆游,想必大家都不会陌生,特别是那些中学课本都学习的诗句“夜阑卧听风吹雨,铁马冰河入梦来”“ 出师...
  • 哈佛大学提出:核心目标是我们要建立成长性的目标、人际关系的目标以及对社会的贡献。 如果大家能够坚持在这三个领域进行...
    八月树阅读 760评论 0 0