scala进阶
来源:互联网 发布:淘宝如何设置分享有赏 编辑:程序博客网 时间:2024/06/05 20:50
1、scala可以跑在JVM上和.net上
2、scala的重中之重就是函数式编程
3、高阶函数的两个层面-函数的参数是函数;函数的返回值是函数
//函数的参数是函数
def bigData(func:(String) => Unit,content:String) {func(content)} //这里Unit是函数返回类型
调用
bigData(hiScala,"Spark") //结果Spark
//将匿名函数赋值给函数
def func_Returnned(content: String) = (message: String) => println(content + " " + message) //函数的返回值是 函数
4、//只有一个参数的匿名函数可以省略掉包围参数的小括号;参数相对应的函数体只使用一次参数时,参数名称 可以省略,用_代替
def spark(func: (String) => Unit,name: String) {func(name)}
spark((name:String) => println(name),"scala")
Spark(name => println(name),"Scala") //省掉String
Spark(println(_),"Scala") //这样写也是对的
Spark(println,"Scala") //这样写也是对的
5、闭包
函数的变量超出其有效作用域时还能被外部访问就是闭包。也就是说变量会被保留在函数体内部,被反复使用
闭包随处可见
创建function对象,把content这个变量存在对象里。函数的返回值是这个对象,当调用这个函数时就可以使用这 个对象所携带的变量。
实质是函数维护了函数体内的状态变量 //java中类似的实现是new一个接口然后回调。sam转换
6、
- Scala进阶
- Scala进阶
- scala进阶
- scala学习二:scala进阶
- Scala进阶编程指南
- Scala进阶实战
- scala进阶1-泛型
- Scala函数进阶
- scala基础5-函数进阶
- scala基础7-数组进阶
- Scala入门之函数进阶
- scala进阶6-多重界定
- scala进阶7-类型约束
- scala进阶10-路径依赖
- scala进阶11-结构类型
- scala进阶12-复合类型
- scala进阶13-中值表达式
- scala进阶15-依赖注入
- 手机端网页自适应声明
- 2017年1000集大型Web前端视频教程
- 前端开发者必会的20个JavaScript试题
- 使用JavaMail群发邮件
- 函数调用、方法调用及构造函数调用之间的不同
- scala进阶
- poi读取excel(xls,xlsx)
- 设计模式之-外观模式
- java.lang包
- Android 文本输入框 获取焦点和设置光标到末尾
- 让IE6、IE7、IE8支持CSS3的圆角、阴影样式-最好的插件
- Cannot open Redis connection due invalid URI
- 三张图搞懂JavaScript的原型对象与原型链
- RxJS的秘密 Observable 可观察对象