Scala学习小结(一)

本文总结了Scala学习的一些关键点,包括其函数式编程特性,如函数作为对象,列表元素访问方式,以及参数不可变性。此外,还探讨了Scala中如何通过单例对象实现静态成员,以及伴生对象的概念。对于深入理解Scala的孤立对象和伴生对象,推荐了几篇相关博客。
摘要由CSDN通过智能技术生成

最近在搞Spark,需要学一下Scala,这门语言虽然也是运行在JVM上的,但与Java还是不同的。

1、函数式编程,在Scala中一切皆为对象,包括函数也是对象,因此可以将函数名直接作为形参传递。如果函数字面量只有一行语句,并只带一个参数,则连指代参数都不需要,直接写传入的函数名即可。例如,遍历打印一个列表中的元素。

val oneToFive = 1::2::3::4::5::Nil
oneToFive.foreach(println)

2、列表是不可变的,这类似于Java中的String,在使用List中的方法,如删除前两个元素,使用drop(2),此时会返回一个新的List,而元List是不变的。

3、访问List中的元素,Java使用[],而Scala使用(),这是因为Scala访问元素时实际上是调用了apply()方法,赋值时调用了update()方法。

4、Scala的方法中传递的参数都是val类型的,因此不可以在方法体中对参数进行重新赋值。

5、如果没有显式的返回语句,即没有写return,则scala则会默认返回方法中最后一次计算

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值