def func(arg: String => Int): Unit = {
// body of function
}
Run Code Online (Sandbox Code Playgroud)
我的意思是这个片段:String => Int
简短的回答
它是一个接收String并返回Int的函数
答案很长
在Scala中,功能是一等公民.这意味着您可以将它们存储在变量中(或者就像在这种情况下)将它们作为参数传递.
这就是函数文字的样子
() => Unit
Run Code Online (Sandbox Code Playgroud)
这是一个不接收参数并返回Unit的函数(java等效于void).
这将是一个接收String作为参数并返回Int的函数:
(String) => Int
Run Code Online (Sandbox Code Playgroud)
另外,scala让你删除括号作为一种语法糖,就像你的例子.前面arg:只是参数的名称.
func你可以在里面调用函数receive(arg),如下所示:
val result = arg("Some String") // this returns a Int
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
449 次 |
| 最近记录: |