【发布时间】:2020-11-18 19:22:27
【问题描述】:
我正在学习 Scala 编程语言的闭包。
例如:
val a = (x:Int, y:Int) => x + y;
a(1, 2)
会给我3。闭包a 像函数(Int, Int):Int 一样工作。
是否可以像这样声明闭包的返回类型?
val a = (x:Int, y:Int):Int => x + y;
a(1, 2)
有可能吗?
【问题讨论】:
我正在学习 Scala 编程语言的闭包。
例如:
val a = (x:Int, y:Int) => x + y;
a(1, 2)
会给我3。闭包a 像函数(Int, Int):Int 一样工作。
是否可以像这样声明闭包的返回类型?
val a = (x:Int, y:Int):Int => x + y;
a(1, 2)
有可能吗?
【问题讨论】:
这种语法是不可能的(val a = (x:Int, y:Int):Int => x + y),但是你可以为a声明类型:
val a: (Int, Int) => Int = (x, y) => x + y
【讨论】:
val g:(Int,Int)=>Int = (a:Int, b:Int) => { return a + b; }?
return关键字
val a = (x: Int, y: Int) => (x + y): Int 类型归属。