about云spark开发基础之Scala快餐


spark是用Scala语言来写的,因此学习Scala成为spark的基础。当然如果使用其它语言也是可以的。从性能上来讲,及代码简洁等方面,Scala是比较好的一个选择。

当前我们的生活都是处于快节奏,各方面都讲究快,快--讲究的是效率,这里同样是想让大家快速入门Scala,如同吃快餐一样,因此命名为快餐Scala。文中如有不当之处,大家多批评指正。

Scala是函数式编程,继承了其它语言的很多特点,并且发展了自己特性。因此下面所涉及的内容,需要熟悉一门语言,特别是Java语言。如果没有语言基础,建议从下面资源推荐中,下载Scala编程(完整版) (密码uprb),如果想更多更系统的学习,也可以从推荐资源中选择适合自己的书籍或则资源。

既然我们学习Scala,那就需明白什么是函数式编程。

在Scala编程中认为:函数式编程有两种指导理念:

第一种理念:函数式头等值。也就是函数式有值的,并且其可以作为参数来传递。匿名函数,可以随意的插入代码中。这个与传统的语言中的函数是不同的,传统语言函数可以理解为一个操作,或则功能。作为参数传递,会让传统程序员难以理解。但是在Scala中是可以的。

第二种理念: 程序的操作应该把输入值映射为输出值而不是修改原先数据。比如我们操作一个字符串,当我们执行replace操作后,形成的是一个新的字符串。而不是在原先的字符串的基础上修改而成。这有点绕的。打个比方,你们家房子旧了,你想翻新。不是对旧房子改造,而是另外新盖一个房子。

第二种理念另外的解释:方法不应有任何副作用。方法与环境的唯一交流方式是获取参数和返回结果。同样也是以字符串为例,Java的String, replace操作后,会返回一个新的字符串,这就是返回的结果。这里面参数是字符串本身,以及替换和被替换的字符。

我们理解了Scala为什么是函数式编程后,下面内容总结了Scala中个人认为比较难以理解的字符及一些关键字和函数。希望对大家有所帮助。

原文发布于微信公众号 - about云(wwwaboutyuncom)

原文发表时间:2016-11-22

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏编程

C语言最难啃的三块硬骨头,你越过去了吗?

提到C语言很多初学者都觉得,学到中间就进行不下去了,因为碰到了几个硬骨头死活翻不过去,于是很多人给C语言下结论太难了,太靠近底层了,特别是那几块难啃的骨头,直接...

2258
来自专栏华章科技

值得收藏的Python小技巧:这17个骚操作你都OK吗?

导读:Python 是一门非常优美的语言,其简洁易用令人不得不感概人生苦短。在本文中,作者 Gautham Santhosh 带我们回顾了 17 个非常有用的 ...

2973
来自专栏程序员互动联盟

10个实用的但偏执的Java编程技术

在沉浸于编码一段时间以后(比如说我已经投入近20年左右的时间在程序上了),你会渐渐对这些东西习以为常。因为,你知道的……任何事情有可能出错,没错,的确如此。 这...

35413
来自专栏漫漫深度学习路

tensorflow学习笔记(二十八):collection

tensorflow collection tensorflow的collection提供一个全局的存储机制,不会受到变量名生存空间的影响。一处保存,到处可取。...

3489
来自专栏积累沉淀

Java设计模式(三—四)----工厂模式

Java设计模式 工厂模式 一、引言 二、分类 三、简单工厂模式 四、工厂方法模式 五、抽象工厂模式 六、和工厂方法模式区别 七、总...

1895
来自专栏王磊的博客

三层业务类(DAL)必用的通用方法之一

  写代码有两年多的时间了,越来越觉得代码的通用性是衡量一个程序员的标准。 #region SqlDataReader => List /// <summary...

3538
来自专栏java技术学习之道

java设计模式之工厂模式

1513
来自专栏程序员的SOD蜜

“法天象而应四时”--茶话软件开发之“抽象”

抽象不仅仅是软件领域,在有灵性的生物中都有抽象; 抽象不仅仅是OO的,非OO语言也有抽象; 抽象的级别: 类级别的抽象--类、抽象类、接口; 方法、函数级别的抽...

2378
来自专栏iKcamp

翻译连载 |《你不知道的JS》姊妹篇 |《JavaScript 轻量级函数式编程》- 第 6 章:值的不可变性

原文地址:Functional-Light-JS 原文作者:Kyle Simpson-《You-Dont-Know-JS》作者 第 6 章:值的不可变性 在第 ...

2055
来自专栏程序员互动联盟

C语言最难啃的三块硬骨头

提到C语言很多初学者都觉得,学到中间就进行不下去了,因为碰到了几个硬骨头死活翻不过去,于是很多人给C语言下结论太难了,太靠近底层了,特别是那几块难啃的骨头,直接...

3885

扫码关注云+社区