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是没有错误的,而数学家会认为这是
        错误的 等式为假。
       

函数式编程的好处:

        由于命令式编程也可以通过类似的函数指针方式来实现高阶函数。函数式的最主要好处式不可变性带来的,没有可变的状态。
        函数就是引用透明的和没有副作用


                                     


0 0
原创粉丝点击