写在前面:对于初学者来说,这几种符号实在太容易让人混淆了,还是有必要整理起来,相互比较下,对各符号的功能用途有了更深入的了解后自然就轻松了。
参考文章: Scala中的 -> 与 <-以及=>
1、概括
<- 只会出现在for循环里面
-> 只会出现在Map里的key->value映射时
=> 虽然出现的场景有四种,但背后代表的含义是统一的,即转化,从一种类型变成另一种类型。不管是用在函数、匿名函数,或是用在match匹配中,都是代表着类型转化的含义。
所以,跟数学类比下,我们给这三种符号取个容易记住的名字:
<- 穷举符/属于符/子集符, -> 映射符 , => 推导符
2、=> 的使用场景
(1)匿名函数
var a = (x:Int, y:Int) => x+y
(2)Match匹配
val v2 = 1
val result2 =v2 match {
case 1=> "1"
case 2=> "1"
case 3=> "2"
case _=> "default"
}
(3)函数表达式
(4)函数传名调用