Scala初步学习

scala语言
1.scala特点
兼容性,简短,高层级抽象?,和高级的静态类别?
1.兼容性,可以和java实施互操作
scala的程序可以被编译成JVM(java虚拟机)的字节码,访问Java字段,调用java方法,
继承java类和实现java接口,几乎所有的scala代码都依赖于java库

scala与java区别
java里面既可以比较原始类型也可以比较参考类型,对于原始类型,java 的==比较值得相等性,如scala
对于参考类型,java的==比较的是参看相等性,也就是说两个变量事都指向了,jvm堆里的同一个对象.scala
scala也提供了这种机制,即eq,不过qd与他的反义词en仅仅应用于可以直接映射到java的对象

2.scala编程风格
副作用与var
如果代码中出现了var那么说明该程序是指令式风格(c,c++,c#,java,.net),如果代码中没有var那么他大概是函数式风格
函数式风格与指令式风格  
val ,var只是变量的声明方式而已
减少val/var的好处,即重构后(函数式)的代码比重构之前(指令式)的代码更加简洁,易懂,也更少机会犯错,这也是scala鼓励函数
式编程的原因,重构后的printArgs方法并不是纯函数式编程,因为他有一个副作用,其副作用就是打印到标准输出流,结果类型为Unit
更函数化的方式就是对这种打印的arg进行格式化,但是只返回格式化之后的字符

现在正是学习大数据的最好机遇,不花一分钱就可以成为大数据高手,实现年薪50万的梦想。

王家林的第一个中国梦:免费为全社会培养100万名优秀的大数据从业人员!

您可以通过王家林老师的微信号18610086859发红包捐助大数据、互联网+、O2O、工业4.0、微营销、移动互联网等系列免费实战课程, 目前已经发布的王家林免费视频全集如下:

1,《大数据不眠夜:Spark内核天机解密(共100讲)》:http://pan.baidu.com/s/1eQsHZAq

2,《Hadoop深入浅出实战经典》http://pan.baidu.com/s/1mgpfRPu

3,《Spark纯实战公益大讲坛》http://pan.baidu.com/s/1jGpNGwu

4,《Scala深入浅出实战经典》http://pan.baidu.com/s/1sjDWG25

5,《Docker公益大讲坛》http://pan.baidu.com/s/1kTpL8UF

6,《Spark亚太研究院Spark公益大讲堂》http://pan.baidu.com/s/1i30Ewsd

7,DT大数据梦工厂Spark、Scala、Hadoop的所有视频、PPT和代码在百度云网盘的链接:
http://pan.baidu.com/share/home?uk=4013289088#category/type=0&qq-pf-to=pcqq.group

王家林免费在51CTO发布的1000集合大数据spark、hadoop、scala、docker视频:

1,《Scala深入浅出实战初级入门经典视频课程》http://edu.51cto.com/lesson/id-66538.html

2,《Scala深入浅出实战中级进阶经典视频课程》http://edu.51cto.com/lesson/id-67139.html

3,《Akka深入浅出实战经典视频课程》http://edu.51cto.com/lesson/id-77672.html

4,《Spark亚太研究院决胜大数据时代公益大讲堂》http://edu.51cto.com/lesson/id-30815.html

5,《云计算Docker虚拟化公益大讲坛 》http://edu.51cto.com/lesson/id-61776.html

6,《Spark 大讲堂(纯实战手动操作)》http://edu.51cto.com/lesson/id-78653.html

7,《Hadoop深入浅出实战经典视频课程-集群、HDFS、Yarn、MapReduce》http://edu.51cto.com/lesson/id-77141.html

8,《从技术角度思考Hadoop到底是什么》http://edu.51cto.com/course/course_id-1151.html

时间: 2024-10-06 12:55:47

Scala初步学习的相关文章

LinQ的初步学习与总结

嘿嘿,说起来ORM和LinQ,就感觉离我好遥远的,在学校是没有学习的,所以总感觉学习了LinQ就是大神,现在嘛,终于也体会一点,感觉LinQ只是初步学习,没有太难,当然以后使用在项目中就没有这样的简单啦,下面就全面的总结一下LinQ的其中一部分,LinQ有三部分:LinQ TO Object:LinQ TO SQL ;LinQ TO XML.而在这里我先来总结一下LinQ TO Object的学习吧 一.初步认识LinQ to Object static void Main(string[] a

Jquery Easy UI初步学习(二)datagrid的使用

第一篇学的是做一个管理的外框,接着就是数据datagrid绑定了,这里我用asp.net mvc3来做的,主要就是熟悉属性.方法. 打开easyui的demo 就可以看到如下一段代码: 和上篇一样class="easyui-datagrid", data-options="...",这是一样的,其他我在网上查了查,并做了整理 DataGrid 属性 参数名 类型 描述 默认值 title string Datagrid面板的标题 null iconCls strin

初步学习C++:C++的基本概念

开始学习C++,先从最基本的概念开始,让自己有一个系统的知识概念. 1.对象: 在面向对象程序设计中,对象是描述其属性的数据以及对这些数据施加的一组操作封装在一起构成的统一体.对象可以认为是:数据+操作(对象所能完成的操作表示它的动态行为,也成为方法). 2.类: 在面向对象程序设计中,类就是具有相同的数据和相同的操作的一组对象的集合,类是对具有相同数据结构和相同操作的一类对象的描述. 3.消息: 在面向对象程序设计中,一个对象向另一个对象发出的请求被称为"消息".当对象接收到发向它的

Java深度历险(三) Maven初步学习

这几天接触这个词,很多遍了,只是浅显的体会到它在GXPT中的好处,功能之强大,又通过网络查询了资料进一步的认识学习了,和大家分享. Maven是基于项目对象模型(POM),可以通过一小段描述信息来管理项目的构建,报告和文档的软件项目管理工具. 在gxpt中的体现 1. 父子关系 一个多模块项目通过一个父POM 引用一个或多个子模块来定义. a. 在父目录中分别创建子项目 b. 父项目,通过以下配置,将子项目关联: 如下: <span style="font-size:18px;"

初步学习nodejs,业余用node写个一个自动创建目录和文件的小脚本,希望对需要的人有所帮助

初步学习nodejs,业余用node写个一个自动创建目录和文件的小脚本,希望对需要的人有所帮助,如果有bug或者更好的优化方案,也请批评与指正,谢谢,代码如下: 1 var fs = require('fs'); 2 var tel = [ 3 "1/2/4/6/a.tpl.html", 4 "1/2/4/7/9/c.tpl.html", 5 "1/3/5/8/b.tpl.html"]; 6 var demo = function (mulu)

状态保持以及AJAX的初步学习

嘿嘿,今天学习的有点迷茫哦,主要学习把验证码使用在登录页面时间的一些逻辑,学习这个时间并没有那么的迷惑哦,可是自己写程序时间倒是有点反应迟钝,不过还好总是在最后搞清楚啦,另外就是一步一步的学习是接近项目期,今天下午学习了ajax,这个使用javascript写起来还是蛮麻烦的,嘿嘿,但是使用jquery实现是非常的简单的,不知道是不是由于我刚接触的原因,下面来总结一下今天学习的内容,感觉今天学习的还是很有必要详细总结的,因为在以后的项目中还是经常会使用的. 一.状态保持 1.cookie的添加与

Jquery Easy UI初步学习(三)数据增删改

第二篇只是学了加载用datagrid加载数据,数据的增删改还没有做,今天主要是解决这个问题了. 在做增删改前需要弹出对应窗口,这就需要了解一下EasyUi的弹窗控件. 摘自:http://philoo.cnblogs.com/ 我的理解,就是panel有的属性Window.dialog都有,同时保留自己的扩展属性方法 , 所以主要展示pannel的属性. Pannel 属性 名称 类型 说明 默认值 title string 显示在Panel头部的标题文字. null iconCls strin

Scala学习(一)--Scala基础学习

Scala基础学习 摘要: 在篇主要内容:如何把Scala当做工业级的便携计算器使用,如何用Scala处理数字以及其他算术操作.在这个过程中,我们将介绍一系列重要的Scala概念和惯用法.同时你还将学到作为初学者如何浏览Scaladoc文档 1. 使用Scala解释器 2. 用var和val定义变量 3. 数值类型 4. 使用操作符和函数 5. 浏览Scaladoc Scala解释器 启动Scala解释器的步骤如下: 安装Scala 确保scala/bin目录位于系统PATH中 在你的操作系统中

实验1 ASP.NET MVC 4 初步学习

1.添加控制器 http://www.asp.net/mvc/tutorials/mvc-4/getting-started-with-aspnet-mvc4/adding-a-controller 2.添加视图 http://www.asp.net/mvc/tutorials/mvc-4/getting-started-with-aspnet-mvc4/adding-a-view 3.添加模型 http://www.asp.net/mvc/tutorials/mvc-4/getting-sta