函数式编程理解

举报
bigdata张凯翔 发表于 2021/03/28 00:13:56 2021/03/28
【摘要】 函数式编程理解 1)Scala中函数的地位:一等公民 2)Scala中的匿名函数(函数字面量) 3)Scala中的高阶函数 4)Scala中的闭包 5)Scala中的部分应用函数 6)Scala中的柯里化函数 样例类 case class Person(name:String,age:Int) 一 般使用在 ds=df.as[Person] Some、None、Option的正...

函数式编程理解

1)Scala中函数的地位:一等公民
2)Scala中的匿名函数(函数字面量)
3)Scala中的高阶函数
4)Scala中的闭包
5)Scala中的部分应用函数
6)Scala中的柯里化函数

样例类

case class Person(name:String,age:Int)
一 般使用在 ds=df.as[Person]

Some、None、Option的正确使用

val map = Map("Tom"-> 23)
map("Jack") // 抛出异常 java.util.NoSuchElementException: key not found: Jack
map.get("Jack") // None
map("Tom") // 23
map.get("Tom") // Some(23)

使用模式匹配取出最后结果
val optionAge = map.get("Tom")
val age = optionAge match {
 case Some(x) => optionAge.get
 case None => 0
}

文章来源: www.jianshu.com,作者:百忍成金的虚竹,版权归原作者所有,如需转载,请联系作者。

原文链接:www.jianshu.com/p/5b03f17f5a63

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。