Scala 模式匹配

2021-07-29  本文已影响0人  中v中

功能函数中应用模式匹配(重点)比如在map函数中使用

map中使用的话,map后边的()需要变成{}

1、场景:之前的map是这样的,因为不方便所以才会用模式匹配。让它处理方便

image image

1)因为下划线1,下划线2 时间长了就记不住

2)上面发现Map 中每个都是tuple,tuple 是可以做模式匹配的,t 就是tuple

3)开始模式匹配:把tuple 换成((prv,item,),cnt)

4)prv对应着地区,item对应着商品,cnt 对应的就是数量

5)map的时候做这样的转换

image

这样就省去了下划线,看着和操作都更方便

6) 在map的时候进行模式匹配的时候, 需要注意两点

1、在没有进行匹配的时候,传递的都是一个tuple,是一个整体,

image

,因为有逗号,map方法就是传递一个参数,马丁认为这里是参数列表,而不是一个整体。

所以在使用的时候就需要加上关键字,case

image

2、因为在使用模式匹配的时候,可能会有多种case 情况,行数就会太多了, 所以map后面原本的小括号需要换成花括号{}

image

功能函数会大量的使用模式匹配


第二个小案例:

image 结果: image

第三个小案例:

image

自己对功能函数中模式匹配的理解:

理解一下功能函数中的模式匹配吧。按照自己的理解

功能函数传递的都是集合中的一个一个的元素,此时需要对元素进行模式匹配

符合某个规则的元素进入一种操作逻辑,符合某种规则的元素进入一种逻辑

以这个为例: image

i和s 都是元素(符合某种规则的元素)

=>左边的就是元素, =>右边的就是需要执行的逻辑

代表元素传递进来,相应的元素走相应的通道,执行相应的逻辑

上一篇 下一篇

猜你喜欢

热点阅读