risc-v中文社区

 找回密码
 立即注册
查看: 977|回复: 0

[原创] risc-v开发基础 Scala match表达式与case class---(9)

[复制链接]

347

主题

564

帖子

2237

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
2237
发表于 2021-8-3 13:56:48 | 显示全部楼层 |阅读模式
  1.   case class PersonCls(val name:String,val age:Int)
  2.           def show(x:Option[String]) = x match{
  3.                 case Some(s) => s
  4.                 case None => "?"
  5.   }
  6.   val pc1 = new PersonCls("zs",10)
  7.   val pc2 = new PersonCls("ls",12)
  8.   val pc3= new PersonCls("ww",11)
  9.   val pc4= new PersonCls("w",11)

  10.   def mymatch(o:Any):Any={
  11.     o match{
  12.       case PersonCls(a,11) if a=="ww" =>println("name="+a)
  13.       case PersonCls(a,12) =>println("name2="+a)
  14.       case PersonCls(a,10) =>println("name3="+a)
  15.       case PersonCls => println("personcls class")
  16.       case obj:PersonCls => println("personcls class obj")
  17.       case _ =>println("error")
  18.     }
  19.   }
  20.   mymatch(pc4) //personcls class obj
  21.   mymatch(PersonCls) //personcls class
  22. mymatch(pc3) //name=ww
复制代码

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



Archiver|手机版|小黑屋|risc-v中文社区

GMT+8, 2024-4-27 17:02 , Processed in 0.015896 second(s), 17 queries .

risc-v中文社区论坛 官方网站

Copyright © 2018-2021, risc-v open source

快速回复 返回顶部 返回列表