用python语言做网站,公司注册流程步骤图,网站备案 在哪里,公司查询企业查询 天眼查1. case class 是什么#xff1f;
想象你要做一个表格#xff0c;比如学生信息表#xff0c;每一行需要填#xff1a;姓名、年龄、成绩。 在代码里#xff0c;这种“表格的一行”就是一个数据对象#xff0c;case class 就是帮你快速创建这种“表格行”的工具。
普通方…1. case class 是什么
想象你要做一个表格比如学生信息表每一行需要填姓名、年龄、成绩。 在代码里这种“表格的一行”就是一个数据对象case class 就是帮你快速创建这种“表格行”的工具。
普通方法麻烦版 你要自己写很多代码定义“学生”的类还要写各种方法比如打印信息、比较是否相同等麻烦
用 case class省事版 你只需要写一行代码剩下的打印信息、比较等自动生成
scala复制代码
// 定义一个“学生”模板包含姓名、年龄、成绩
case class Student(name: String, age: Int, score: Double)// 创建具体的学生对象不用写 new
val alice Student(Alice, 20, 95.5) // 自动生成
val bob Student(Bob, 22, 88.0) 2. case class 有啥好处
① 直接拿数据不用写 new
scala复制代码
// 普通类必须写 new
class Animal(name: String)
val cat new Animal(Tom)// case class 不用写 new自动创建对象
case class Animal(name: String)
val dog Animal(Buddy) // 自动帮你 new
② 自动生成“打印信息”
scala复制代码
// 普通类打印是看不懂的地址
println(cat) // 输出Animal4e50df2e// case class 打印具体数据
println(dog) // 输出Animal(Buddy)
③ 自动比较内容是否相同
scala复制代码
val dog1 Animal(Buddy)
val dog2 Animal(Buddy)// 普通类比较地址不同
println(cat new Animal(Tom)) // false// case class 比较内容相同
println(dog1 dog2) // true
④ 模式匹配超方便拆开数据用
scala复制代码
def checkStudent(student: Student): String student match {case Student(Alice, 20, _) 这是Alice年龄20case Student(_, age, score) if score 60 不及格case _ 其他学生
}println(checkStudent(alice)) // 输出这是Alice年龄20 3. 什么时候用 case class
当你的类主要是用来装数据的时候比如学生信息、订单信息。当你需要快速比较、打印、复制数据的时候。当你想用模式匹配拆解数据的时候。 4. 超简单总结
case class 自动生成的数据盒子 帮你省掉写一堆代码的麻烦还能方便拆开用常用在数据存储、模式匹配、传输消息比如聊天消息。 动手试试 你可以在代码里写一个 case class体验它的方便之处。例如
scala复制代码
case class Book(title: String, price: Double)
val myBook Book(Scala入门, 39.9)
println(myBook) // 试试打印结果