Scala-函数
Scala支持函数式编程范式
默认参数
Scala的函数像Python一样可以给参数赋默认值,但并不需要放在最后
1 | def decorate(s: String, left: String = "[", right: String = "]") = { |
带名参数
调用函数时指定参数名会提高代码的可读性
1 | def decorate(s: String, left: String = "[", right: String) = { |
变长参数
对于Seq类型的对象,可以通过:_*将其转为参数序列
1 | def sum(args: Int*) = { |
过程
不同于函数,如果不在定义时使用=就是一个过程(procedure),这时其实是为了它的“副作用”
1 | def hello(): Unit = { |
偏函数
被包在花括号内的一组case语句是一个偏函数,一个并非对所有输入值都有定义的函数。它是PartialFunctionA, B类的一个实例。该类有两个方法,apply方法从匹配到的模式计算函数值,而isDefinedAt方法在输入至少匹配其中一个模式时返回true.
1 | "-2+2".collect { |
匿名函数
Scala中的匿名函数定义非常简单,=> 左边是参数列表,右边是函数体即可
1 | val multiply3 = (a: Int) => a * 3 |
应用于map等函数中
1 | Array(1, 2, 3).map(x => x * 3) |
评论系统未开启,无法评论!