scala高阶函数之匹配功能

1、其功能类似于Java switch,功能要强大于java, 可以对数据值和数据类型进行匹配

2、语法

变量 match{

  case 可能性1 => 操作1

  case可能性2 => 操作2

  ……

  case _ => 默认操作

}

示例代码

package day3

object demo_match {
    def main(args: Array[String]): Unit = {
        var sin = 2
        val ch = 'd'
        ch match {
            case '-' => sin -= 2
            case '+' => sin += 2
            case '/' => sin /= 2
            case _ => println("请输入正确的符号")
        }
        println(sin)
    }

}

 

别一种简洁的写法: 守卫

package day3
import scala.io.StdIn
object demo_match {

    def main(args: Array[String]): Unit = {
        var sin = 2
        val ch = StdIn.readChar()
        sin = ch match {  // case匹配结果直接赋值给变量的用法叫: 守卫
            case '-' => 1
            case '+' => 2
            case '/' => 3
            case _ => 0
        }
        println(sin)
    }

}

 

上一篇:使用二分法求方程x^5+sin(x)-1=0在[0,1]内的近似根(误差<10^-5)。


下一篇:CMake 交叉编译