美文网首页
Scala模式匹配及偏函数

Scala模式匹配及偏函数

作者: 喵星人ZC | 来源:发表于2019-11-05 22:25 被阅读0次

    模式匹配公式:

    变量 : match {
      case 值1 => 代码1
      case 值2 => 代码2
      case _ => 代码2
    }
    

    一、代码Demo

    package com.soul.matchs
    
    import scala.util.Random
    
    object MatchApp {
    
      def main(args: Array[String]): Unit = {
    
        val a = Array("鹅", "秃", "渣")
        val r = a(Random.nextInt(a.length))
        say(r)
      }
    
      def say(name: String) = name match {
        case "鹅" => println("鸟叔")
        case "秃" => println("秃叔")
        case _ => println("SB")
      }
    
    }
    
    

    二、Scala中的模式匹配处理异常

    package com.soul.matchs
    
    object Match1App {
      def main(args: Array[String]): Unit = {
        try {
          val a = 1 / 0
        } catch {
          case e: ArithmeticException => throw new RuntimeException("除数不能为0")
          case e: Exception => e.printStackTrace()
        } finally {
          println("finally")
        }
      }
    }
    
    

    三、Scala函数

    package com.soul.matchs
    
    import com.soul.matchs.MatchApp.say
    
    import scala.util.Random
    
    object Match2App {
      def main(args: Array[String]): Unit = {
        val a = Array("鹅", "秃", "渣")
        val r = a(Random.nextInt(a.length))
        println(say(r))
      }
    
      //偏函数                  入参      出参
      def say: PartialFunction[String, String] = {
        case "鹅" => "鸟叔"
        case "秃" => "秃叔"
        case _ => "SB"
      }
    
    }
    
    

    相关文章

      网友评论

          本文标题:Scala模式匹配及偏函数

          本文链接:https://www.haomeiwen.com/subject/tqfybctx.html