Scala学习笔记
来源:互联网 发布:npc2.wil的算法 编辑:程序博客网 时间:2024/05/16 08:42
第一个例子:
object HelloWorld { def main(args: Array[String]) { println("Hello, world!") } }
Scala语言和Java很多相同之处,不同在于行结束符的不同,并且Scala代码块里运行的都是表达式expression;
Scala的相关概念:
面向函数编程:(基本概念 参考 http://dajie.me/4o0k6o)
函数编程是Scala语言的一等公民:
表现在:1、可以传递、赋值
2、嵌套函数和匿名函数
3、具有高阶函数
4、偏应用
5、闭包
函数式编程的本质:
函数编程中的函数这个术语不是指计算机中的函数(实际上式Subroutimr),而是指数学中的函数。即自变量的映射。也就是说
一个函数的值仅决定于函数参数的=值,不依赖其他状态。比如Sqrt(X)很熟计算X的平方根 只要X不变 无论什么时候使用。调用
几次 值都是不变的。
函数式语言中,函数作为一等公民,可以在任何地方定义。在函数内或函数外。可以作为函数的参数和返回值,可以对函数进行组合。
函数式编程语言的变量也不是命令式编程语言的变量,即存储状态单元,而是代数中的变量。即一个值的名称。变量的值是不可变得,
也就是说不允许像命令式编程语言中那样多次的各一个变量赋值。比如在命令编程语言我们写X=X+1是没有错误的,而数学家会认为这是
错误的 等式为假。
函数式编程的好处:
由于命令式编程也可以通过类似的函数指针方式来实现高阶函数。函数式的最主要好处式不可变性带来的,没有可变的状态。
函数就是引用透明的和没有副作用
- Scala学习笔记1
- Scala学习笔记2
- scala语言学习笔记
- Scala学习笔记
- scala学习笔记01
- Scala学习笔记02
- Scala学习笔记03
- Scala学习笔记04
- scala学习笔记:集合
- scala学习笔记01
- Scala学习笔记02
- Scala学习笔记03
- Scala学习笔记04
- Scala学习笔记
- Scala开发学习笔记
- Scala学习笔记一
- Scala学习笔记二
- Scala学习笔记三
- decimal与NUMBER类型
- MySQL的事务隔离及锁机制
- 空格代码  
- 物流路径规划用遗传算法解决实例
- 两位数乘一位数
- Scala学习笔记
- 数据库分区的了解
- 【一天一道LeetCode】#17. Letter Combinations of a Phone Number
- 浏览器刷新页面/关闭页面时,使用jquery+ajax保存数据的方法
- 在mac os 中安装 autoconf and automake
- ssh项目中遇到的懒加载的问题(终于解决啦!!!)
- Converting Index-Organized Tables to Regular Tables
- PHP安装配置
- R类找不到的问题