Scala_interview

举报
bigdata张凯翔 发表于 2021/03/26 01:24:12 2021/03/26
【摘要】 元组 1)元组的创建 val tuple1 = (1, 2, 3, "heiheihei") println(tuple1) 2)元组数据的访问,注意元组元素的访问有下划线,并且访问下标从1开始,而不是0 val value1 = tuple1._4 println(value1) 3)元组的遍历 方式1: for (elem <- tuple1.productItera...

元组

1)元组的创建

val tuple1 = (1, 2, 3, "heiheihei")
println(tuple1)

2)元组数据的访问,注意元组元素的访问有下划线,并且访问下标从1开始,而不是0

val value1 = tuple1._4
println(value1)

3)元组的遍历

方式1:
for (elem <- tuple1.productIterator ) {
print(elem)
}
println()
方式2:
tuple1.productIterator.foreach(i => println(i))
tuple1.produIterator.foreach(print(_))

隐式转换

隐式转换函数是以implicit关键字声明的带有单个参数的函数。这种函数将会自动应用,将值从一种类型转换为另一种类型。

implicit def a(d: Double) = d.toInt
//不加上边这句你试试
val i1: Int = 3.5
println(i1)

函数式编程理解

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/0a12405e54d9

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

评论(0

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

全部回复

上滑加载中

设置昵称

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

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

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