重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
闭包是一个函数,返回值依赖于声明在函数外部的一个或多个变量。
闭包通常来讲可以简单的认为是可以访问一个函数里面局部变量的另外一个函数。
比如函数:val multiplier = (i:Int) => i * factor;factor不是形式参数,而是自由变量;这样定义的函数变量 multiplier 成为一个"闭包",因为它引用到函数外面定义的变量,定义这个函数的过程是将这个自由变量捕获而构成一个封闭的函数。
将原来接受两个参数的函数变成新的接受一个参数的函数的过程。新的函数返回一个以原有第二个参数为参数的函数。
def sum(x:Int,y:Int)=x+y,柯里化之后就是def sum(x:Int)(y:Int) = x + y。
这个函数是什么意思呢? 接收一个x为参数,返回一个匿名函数,该匿名函数的定义是:接收一个Int型参数y,函数体为x+y
偏函数不是函数,Scala中的Partia Function是一个Trait,其的类型为PartialFunction[A,B],其中接收一个类型为A的参数,返回一个类型为B的结果。
偏函数内部有一些方法,比如isDefinedAt、OrElse、 andThen、applyOrElse
偏应用函数,是指一个函数有n个参数, 而我们为其提供少于n个参数, 那就得到了一个部分应用函数。
scala 中没有 static 关键字
所以 对于一个class来说,所有的方法和成员变量在实例被 new 出来之前都是无法访问的;
scala object 中所有成员变量和方法默认都是 static 的;
所以只有object中的main方法是可以直接访问的。
map定义:var verMap = Map[String, String]()
map添加元素:verMap += (mapKey -> categeryName)
list定义:var listNewValue: List[String] = List()
list添加元素:listNewValue :+= mulValue
另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。