首页  

Scala函数调用省略点号和括号     所属分类 scala 浏览量 660
一个方法无参数 ,定时时 括号可选
定义时加了括号 ,调用时 括号可选
定义时没加括号 ,调用时 不能加括号

List size 方法没有括号 ,调用时不能加括号
List(1, 2, 3).size
res157: Int = 3

List(1, 2, 3).size()
error: Int does not take parameters
 
String length方法 定义时带有括号 
调用时 带不带括号 都可以
"hello".length
"hello".length()


"hello".substring(0, 3)
"hello" substring(0, 3)

"hello" substring(0, 3) toUpperCase() indexOf "h"
"hello" substring(0, 3) toUpperCase() indexOf "H"

只有一个参数的函数调用可省略点号
中缀语法糖, 历史垃圾, 不滥用 或 不用
infix 中缀

函数只接收一个参数时,可以用 花括号 代替 圆括号
List(1,2,3).map(_*2)
List(1,2,3).map{_*2}
List(1,2,3) map {_*2} 
List(1,2,3) map (_*2) 


函数定义省略等号 没有返回值 !!! def add1(a:Int,b:Int) = { println("a="+a+",b="+b) a+b } def add2(a:Int,b:Int) { println("a="+a+",b="+b) a+b } add2 省略了等会 ,没有返回值 add2: (a: Int, b: Int)Unit

上一篇     下一篇
scala 大括号省略

scala 表达式/代码块 当参数

play action 各种写法

Scala 闭包 和 柯里化

scala 函数参数的求值策略

scala 元组