手记

Scala编程1 | 初识Scala

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

2016\\11\\04:

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

1、

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

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

打印了与“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、函数定义

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

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

3、foreach 枚举

更完整一点的写法是

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

4、函数字面量

5、for expression

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

6、

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



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


0人推荐
随时随地看视频
慕课网APP