دستور Goto در آردوینو جریان برنامه را به نقطهی برچسبگذاری شده، انتقال میدهد.
سینتکس(نحو):
1 2 3 | label: goto label; // جریان برنامه را به برچسب ذکر شده می برد. |
نکته:
استفاده از دستور goto در برنامهنویسی به زبان c نهی شده و تعدادی از نویسندگان کتابهای برنامهنویسی به زبان c، ادعا میکنند که هیچوقت نیازی به استفاده از این دستور نیست، اما اگر درست و عاقلانه استفاده شود، میتواند به سادهتر شدن برنامههایی خاص بیانجامد. علت اینکه بسیاری از برنامهنویسان به این دستور روی خوشی نشان نمیدهند این است که استفادهی بیش از حد و ناصحیح از این دستور میتواند باعث ایجاد برنامهای با جریان تعریفنشده بشود که قابلیت دیباگ شدن (اشکالزدایی) را نخواهد داشت.
با توجه به آنچه گفته شد، نمونههایی نیز وجود دارد که دستور goto مفید است و باعث سادهتر شدن برنامهنویسی میشود. یکی از این موقعیتها برای خروج از حلقههای for تودرتوی عمیق و یا بلاک منطقی if (تحت شرایطی خاص) است.
مثال:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | 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: |
اگر شرط درست باشد، برنامه به برچسب bailout میرود و از آن قسمت اجرا را ادامه میدهد.