为了账号安全,请及时绑定邮箱和手机立即绑定

scala 编程快速入门

标签:
大数据

Scala编程思想

作者布鲁斯 埃克尔(Bruce Eckel),也是Java编程思想的作者,本书是入门读本,和之前的著作不同的是,这本书是由原子概念组合而成,是Scala的原子特性的集合,掌握了这些基本原理,也就学会了Scala的精髓了。同样这本书还可以作为一个参考读本,当你对其中一个特性不是特别理解的时候,随手翻阅,便可以快速掌握其中的思想。

值、数据类型、变量、表达式

val name:type = initialization
val name = initializationvar name = initializaion//变量定义

语句改变状态,表达式用于表达,即表达式会产生结果。Scala几乎一切都是表达式。组合表达式是包括在花括号里面的任意数量的表达式。

包、方法

几乎所有具名的子程序都被创建成方法

def methodName(arg1:Type1, arg2 Type2,...):returnType = {  //code
  result
}

类、对象

Scala是混合对象函数式语言,对象包含数据的val与var(域),通过方法来执行动作。类定义了域和方法。

重载

相同的方法用于处理不同的状态,直观理解是方法名相同,参数列表不同。

class OverLoadingExample{
  def f():Int = { 1}  def f(n:Int):Int ={ n + 2}

scala中辅助构造器就是重载构造器。

case 类

case类会自动将所有参数都创建为val。

字符串插值

使用$符号进行插值,转换为字符串形式。

函数作为对象

def show(n:Int):Unit={println("> "+n)}
val v = Vector(1,2,3,4)
v.foreach(show)

show是函数,这里scala自动将其提升为函数对象。

map reduce、推导

map,接受单个参数并产生返回值得函数,并应用于序列的每个元素。
reduce,使用参数来组合序列中每个元素。
这是函数式编程重要标志,它一小步一小步循序渐进地解决问题。
例如
for( n <- v )
对于每次迭代,序列v的下个元素会赋值给n。

特征

特征是小型的逻辑概念,使用trait定义,特征只表示单一的性质,例如定义衣服的时候,可以使用特征颜色,纹理,同样在定义颜料的时候,你还可以使用这两个特征。
使用特征可以将模型划分为若干独立的部分,将问题分解为大量小碎片。

反射、多态

反射是拿起一个对象并将其放在镜子前面,这样它就可以发现自身的奥秘。
多态表示我们在不同的类型上执行相同的操作,例如,移动操作作用于动物就是动物在跑,作用于汽车就是汽车在行驶。
不能一开始假设做正确的设计,需要写一些代码,然后运行,看效果,然后重构。



作者:霖雨07
链接:https://www.jianshu.com/p/5c02e7b4e08c


点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消