开发者学堂课程【Scala 核心编程 - 进阶:模式中的变量】学习笔记,与课程紧密连接,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/610/detail/9069
模式中的变量
基本介绍
如果在 case 关键字后跟变量名,那么 match 前表达式的值会赋给那个变量。
应用案例
写一段代码,命名为 match 中的变量,新建一个文件为 MatchVar。
代码:
val ch='V'
ch match {
case'+'=> printin("ok~")
//下面case mychar 含义是 mychar =ch
case mychar =>printin("ok~"+ mychar)
case_=> printin("ok~~")
}
因为 mychar =ch 所以 case mychar =>printin("ok~"+ mychar) 无条件被匹配。
匹配V,执行结果为ok~V。匹配U,执行结果为ok~U。
Match 的返回值
val ch1='+'
//match是一个表达式,因此可以有返回值
//返回值就是匹配到的代码块的最后一句话的值
val res=ch1 match{
case'+'=> ch1+"hello"
//下面case mychar 含义是 mychar =ch
case_=> printin("ok~~")
}
println("res="+res)
+匹配上后,+等于 hello,+ hello 返回到 res 执行结果为 res=+ hello
