1、代码
package com.yy.base /** * Scala 模式匹配初步 * */ object PatternMatchTest extends App { println("------基本用法------") val data = 2 data match{ case 1 => println("1......") case 2 => println("2......") case _ => println("not matched......") } println("------添加守卫条件------") for(i <-1 to 10){ i match{ case 4 => println("4......") case num if(num%4==0) => println(num + "被4整除") case num if(num%5==0) => println(num + "被5整除") case 10 => println("10......") case _ => } } println("------foreach------") "Hello Scala".foreach { x => println( x match{ case ' ' => "空格" case ch => "字符:" + ch } ) } }2、结果
------基本用法------ 2...... ------添加守卫条件------ 4...... 5被5整除 8被4整除 10被5整除 ------foreach------ 字符:H 字符:e 字符:l 字符:l 字符:o 空格 字符:S 字符:c 字符:a 字符:l 字符:a
从结果可以看出:scala 模式匹配不同于java中的switch:需要使用break控制,而scala中不需要。