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

Scala编程1 | 初识Scala

标签:
大数据

这篇并没有写成教程形式的,只是单纯地做学习笔记。

2016\\11\\04:

完全看不懂,奇特而神奇的语言……

1、

webp

建立了国家和首都之间的映射关系;

添加了一个新的映射关系“日本-东京”;

打印了与“France”相关的首都;

2、

实际上,scala是纯粹的面向对象语言:每个值都是对象,每个操作都是方法调用。例如:1+2,实际上是调用 Int 类的 + 方法。方法名可以用像操作符一样的名字定义。

scala是函数式语言:1)函数是头等值,函数也是值;2)操作只是把输入映射为输出值,而不是修改数据;方法不应该有任何side effect;

但scala不强迫使用函数式的风格。

简洁:

带构造函数的类   class MyClass(index:Int,name:String)

高级:

判断一个string里面是否包含大写字母  val nameHasUpperCase = name.exists(_.isUpperCase)

scala是静态类型的,本人理解就和swift里面数据类型的处理差不多的意思吧……不想仔细看了…


2016/11/05

1、变量

scala有两种变量var和val,val 不可更改;var可更改。

scala的变量类型写在变量后面,用:隔开。(跟swift好像……)

2、函数定义

至此在形式上理解函数式编程大概就是 *** = ***:

webp

没有返回时,返回类型是 Unit .

3、foreach 枚举

webp

更完整一点的写法是

webp

更紧凑的写法是(函数字面量只有一行且只带一个参数时)

webp

4、函数字面量

webp

5、for expression

webp

<-- 右侧即args数组,左侧一定是val 类型的变量,注意:是val,尽管看上去像是 var型的。

webp

6、

大致是这样的,如果代码中包含了任何的var变量,那它可能就是指令式的风格;如果代码中根本没有var,仅仅包含val,那它或许就是函数式的风格。向函数式编程转变的方式之一就是尝试不用任何的var。It‘s a challenge!



作者:青禾ws
链接:https://www.jianshu.com/p/58cecb467df0


点击查看更多内容
TA 点赞

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

评论

作者其他优质文章

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

100积分直接送

付费专栏免费学

大额优惠券免费领

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

举报

0/150
提交
取消