xcv*_*cvd 2 methods foreach scala
def a: Int = {
for(i <- Array(1,2,3,4,5)){
if(i == 3)
return i
}
}
Run Code Online (Sandbox Code Playgroud)
上面的方法不会编译,我得到以下错误:
error: type mismatch;
found : Unit
required: Int
for(i <- Array(1,2,3,4,5)){
^
Run Code Online (Sandbox Code Playgroud)
预期的行为是该方法返回3.我的代码有什么问题?
dre*_*xin 13
那是因为你的lambda foreach确保返回一个值.如果您提供默认返回值,它应该工作.
def a: Int = {
for(i <- Array(1,2,3,4,5)){
if(i == 3)
return i
}
0
}
Run Code Online (Sandbox Code Playgroud)