• scala基础


    下载Scala: http://www.scala-lang.org/download/

    数值类型:Byte,Short,Int,Long,Float,Double
    字符类型和字符串类型:Char,String
    Unit类型
    Nothing类型

    自定义函数:
    def 函数名称(参数列表:参数类型):返回值类型={
        //函数体
    }
    返回值类型可忽略

    Trait像拥有部分实现的接口,它提供一个介于单一继承和多重继承的中间地带,可以在其它类中混入它们,这样就可以用一组特性对类进行增强

    包可以包含类、对象和特质,但不能包含函数或者变量的定义。很不幸,这是Java虚拟机的局限

    把工具函数或者常量添加到包而不是某个Utils对象,这是更加合理的做法

    将函数作为变量的值(值函数)      在Scala中,可以将一个函数作为另一个函数的参数

    Scala的闭包:就是函数的嵌套,即:在一个函数定义中,包含另外一个函数的定义

    柯里化:Currying
    柯里化函数(Curried Function)是把具有多个参数的函数转化为一条函数链,每个节点上是单一参数
    def add(x: Int, y: Int) = x + y
    def add(x: Int)(y: Int) = x + y //Scala柯里化的语法

    map:在列表中的每个元素上计算一个函数,并且返回一个包含相同数目元素的列表
    foreach: foreach和map相似,只不过它没有返回值,foreach只要是为了对参数进行作用
    filter: 移除任何使得传入的函数返回false的元素。返回Boolean类型的函数一般都称为断言函数
    zip: zip把两个列表的元素合成一个由元素对组成的列表里
    partition: partition根据断言函数的返回值对列表进行拆分
    find: find返回集合里第一个匹配断言函数的元素
    flattern: flatten可以把嵌套的结构展开
    flatMap: flatMap是一个常用的combinator,它结合了map和flatten的功能

    不可变列表(List)        可变列表(LinkedList)
    常用的序列:Vator、Range
        Vector是ArrayBuffer的不可变版本,是一个带下标的序列
        Range表示一个整数序列

        使用implicit申明的函数参数叫做隐式参数

  • 相关阅读:
    Flash/Flex学习笔记(44):万有引力与粒子系统
    Flash/Flex学习笔记(43):动量守恒与能量守恒
    Flash/Flex学习笔记(36):自己动手实现一个滑块控件(JimmySilder)
    Flash/Flex学习笔记(40):弹性运动续弹簧
    Flash/Flex学习笔记(38):缓动动画
    Flash/Flex学习笔记(37):不用系统组件(纯AS3)的视频播放器只有8.82K
    Flash/Flex学习笔记(42):坐标旋转
    LAMP经典入门教程
    配置SQLServer2005数据库镜像实践操作记录
    PHP 免费视频教程
  • 原文地址:https://www.cnblogs.com/cyf18/p/14287232.html
Copyright © 2020-2023  润新知