Scala模式匹配和样例类
Scala有一个十分强大的模式匹配机制,可以应用到很多场合:如switch语句、类型检查等。并且Scala还提供了样例类,对模式匹配进行了优化,可以快速进行匹配。 1、字符匹配
2、 匹配字符串
? ? 3、守卫模式匹配当中,我们也可以通过条件进行判断
? ? 4、 匹配类型? ?
? ? 5、匹配数组、元组、集合
? ? 注意:在Scala中列表要么为空(Nil表示空列表)要么是一个head元素加上一个tail列表。 9 :: List(5,2) :: 操作符是将给定的头和尾创建一个新的列表 注意::: 操作符是右结合的,如9 :: 5 :: 2 :: Nil相当于 9 :: (5 :: (2 :: Nil)) 6、 样例类样例类首先是类,除此之外它是为模式匹配而优化的类,样例类用case关键字进行声明。样例类主要是使用在我们后面的sparkSQL当中,通过样例类来映射我们的表当中的对象 定义形式: case class 类型,是多例的,后面要跟构造参数。 case class Student(name:String) case object 类型,是单例的。 case object Person ???? ? ? ?
7、偏函数被包在花括号内没有match的一组case语句是一个偏函数,它是PartialFunction[A,B]的一个实例,A代表输入参数类型,B代表返回结果类型,常用作输入模式匹配,偏函数最大的特点就是它只接受和处理其参数定义域的一个子集。
? ? ? ? (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |