goto
令程式的执行流程跳到一个被标记的位置。
语法
label:
goto label; // 将程式的执行流程跳到 label 处
提醒
一般来说在C语言的教科书中,使用goto被认为是一个非常糟糕的事情,甚至被认为永远不该出现,但是如果运用得宜,则可以让某些程式变得简洁;而goto在许多的程式设计人员间不受欢迎的原因,是因为如果在goto的使用上不够拘谨,很容易产生非预期的程式执行流程,甚至导致程式无法进行除错。
基于以上所述,以一个多层巢状回圈为例子,用if判断当某个条件成立后就必须跳出整个巢状回圈,在此使用goto可以让编写程式码更为便利、简单。
范例
for(byte r = 0; r < 255; r++){ for(byte g = 255; g > -1; g--){ for(byte b = 0; b < 255; b++){ if (analogRead(0) > 250){ goto bailout;} // more statements ... } } } bailout:
本页由热血青年 LBU 译自英文版。
The text of the 86Duino reference is a modification of the Arduino reference, and is licensed under a Creative Commons Attribution-ShareAlike 3.0 License. Code samples in the reference are released into the public domain.