Android 在Kotlin中有没有办法从一个函数跳出另一个函数?
kotlin中是否有任何方法使用标签或任何类型的特性,以便我们可以从调用函数跳出主函数。 我想要的是,当我从jumperFunction返回时,我想要跳出这两个函数Android 在Kotlin中有没有办法从一个函数跳出另一个函数?,android,function,kotlin,label,Android,Function,Kotlin,Label,kotlin中是否有任何方法使用标签或任何类型的特性,以便我们可以从调用函数跳出主函数。 我想要的是,当我从jumperFunction返回时,我想要跳出这两个函数 fun mainFunction(){ // some code and calling this function jumperFunction() } fun jumperFunction{ // some code return@mainFunction } 让jumperFunction()返回一个布尔值,并使用该结果:
fun mainFunction(){
// some code and calling this function
jumperFunction()
}
fun jumperFunction{
// some code
return@mainFunction
}
让jumperFunction()
返回一个布尔值,并使用该结果:
fun mainFunction() {
//...
if (!jumperFunction()) return
//...
}
//returns false if the calling function should return
fun jumperFunction(): Boolean {
//...
}
让jumperFunction()
返回一个布尔值,并使用该结果:
fun mainFunction() {
//...
if (!jumperFunction()) return
//...
}
//returns false if the calling function should return
fun jumperFunction(): Boolean {
//...
}
我不确定我是否理解您的用例,但您可以理解 例如:
fun main() {
baz {
println("Inside lambda")
return
}
}
inline fun baz(block: () -> Unit) {
println("[Baz] Before block")
block()
println("[Baz] After block")
}
将打印:
[Baz] Before block
Inside lambda
请注意,它在block之后跳过
[Baz]
不确定我是否理解您的用例,但您可以这样做
例如:
fun main() {
baz {
println("Inside lambda")
return
}
}
inline fun baz(block: () -> Unit) {
println("[Baz] Before block")
block()
println("[Baz] After block")
}
将打印:
[Baz] Before block
Inside lambda
请注意,它在block之后跳过
[Baz],这不是一种常见的函数行为吗?我想会有一些方法来处理这种情况,比如使用标签之类的。直接从被调用函数控制流的唯一方法是通过异常。这不是一种常见的函数行为吗?我认为会有一些方法来处理这种情况,比如使用标签之类的。直接从被调用函数控制流的唯一方法是通过异常。