Processing 如何在处理中使用类似goto的功能?

Processing 如何在处理中使用类似goto的功能?,processing,khan-academy,Processing,Khan Academy,我在汗学院学习编码。它使用处理作为基础语言。我了解到Java没有goto函数。然后,如何使用处理实现goto函数。请用片段进行解释 这是我的代码,我对要使用goto功能的地方进行了注释: /*返回数组中位置的索引, 如果数组不包含targetValue,则为-1*/ var doSearch=函数(数组,targetValue){ var min=0; var max=array.length-1; var猜测; //开始日期: 如果(猜测==最大值| |猜测==最小值){ //后藤未发现;

我在汗学院学习编码。它使用处理作为基础语言。我了解到Java没有goto函数。然后,如何使用处理实现goto函数。请用片段进行解释

这是我的代码,我对要使用goto功能的地方进行了注释:

/*返回数组中位置的索引,
如果数组不包含targetValue,则为-1*/
var doSearch=函数(数组,targetValue){
var min=0;
var max=array.length-1;
var猜测;
//开始日期:
如果(猜测==最大值| |猜测==最小值){
//后藤未发现;
}
猜测=圆形((最小+最大)/2);
if(targetValue==数组[猜测]){
返回猜测;
}否则{
if(targetValue>数组[猜测]){
最小值=猜测+1;
//转到startover;
}否则{
max=guess-1;
//转到startover;
}
}
}
//未找到:
返回-1;
};
变量素数=[2,3,5,7,11,13,17,19,23,29,31,37,
41, 43, 47, 53, 59, 61, 67, 71, 73, 79, 83, 89, 97
];
var结果=doSearch(素数,73);
println(“在索引处找到素数”+结果);

//程序。assertEqual(doSearch(primes,73),20)
您最好使用for循环,然后使用
break
continue
for
goto
s

for(var unusedVariable = 0;1==1;unusedVariable++){//equivalent of "startover:"
    if(condition1){
        continue;//goto startover;
    }
    if(condition2){
        continue;//goto startover;
    }
    if(condition1){
        break;//goto notFound;
    }
}//notFound:

不要使用goto。它扼杀了执行流,效率极低,询问您的特定问题或想法比询问不存在的语言功能更难理解。处理是基于Java的,两者都没有goto,因为它们是结构化语言。也许可以学习一些处理教程?我在C++中已经编码了十多年了。我唯一一次看到的
goto
实际需要被
goto
使用的方式是在YACC或BISON自动生成的解析器代码中。开发人员几乎普遍认为,
goto
不值得它引起的问题,而且几乎总是应该避免的。为什么不直接使用数组原型“indexOf”