Scala

11 篇文章 0 订阅
7 篇文章 0 订阅

01. 匹配模式

字符串

object Demo1 {
  def main(args: Array[String]): Unit = {
    val arr = Array("java","scala","js","sql","css")
    /*val i: Int = Random.nextInt(arr.length)
    println(arr(i))*/
    arr.map(e=>e match {
      case "java" => "hls"
      case "scala" => "hg"
      case "js" => "hg"
      case "sql" => "sg"
      case _ => "zixue"
    }).foreach(println)
  }
}

样例类

abstract class Animal
case class Cat(name:String) extends Animal
case class Dog(name:String) extends Animal
case class Monkey(name:String) extends Animal
class CaseDemo01 {
  def opt(arg:Animal) = arg match {
    case Cat(_) => ("cat"+arg)
    case Dog(_) => "dog"
    case Monkey(_) => "monkey"
    case _ =>
  }
}

object CaseDemo01 {
  def main(args: Array[String]): Unit = {
    val cd = new CaseDemo01
    println(cd.opt(Cat("xiaohau")))
  }
}
abstract class Animal
case class Cat(name:String) extends Animal
case class Dog(name:String) extends Animal
case class Monkey(name:String) extends Animal

object CaseDemo02 {
  def main(args: Array[String]): Unit = {
    val arr: Array[Animal] = Array[Animal](Dog("小黑"),Cat("小花"),Monkey("悟空"))
    arr.map(e=>e match {
      case x:Cat =>  "小花"
      case x:Dog =>"小黑"
      case x:Monkey => "悟空"
      case _ =>
    }).foreach(println)

    arr.map(e=>e match {
      case Cat(_) =>  "小花"
      case Dog(_) =>"小黑"
      case Monkey(_) => "悟空"
      case _ =>
    }).foreach(println)
  }
}

02. option

 

 


03. 闭包  ---不会

 


04. 柯里化

 


05. 隐式

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值