这篇并没有写成教程形式的,只是单纯地做学习笔记。
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!