Arduino/goto
< Arduino
ينقل التعبير goto
البرنامج إلى موضع معين ضمن الشيفرة.
البنية العامة
goto label; // إرسال البرنامج لتنفيذ الكتلة البرمجية
// label الموجودة عند التسمية
أمثلة
مثالٌ على استعمال التعبير goto
:
for(byte r = 0; r < 255; r++){
for(byte g = 255; g > 0; g--){
for(byte b = 0; b < 255; b++){
if (analogRead(0) > 250){ goto bailout;}
// يمكن إضافة شيء هنا
}
}
}
bailout:
ملاحظات وتحذيرات
لم تعد العبارة goto
تُستعمَل في لغة C، وأُشير في بعض الكتب المرجعية للغة البرمجة C أن العبارة goto
لم تعد ضرورية ولكن يمكن استعمالها لتبسيط بعض البرامج. السبب القابع خلف نفور المبرمجين من استعمال العبارة goto
هو أنه عند التفريط باستعمالها، سيُنشَأ برنامجٌ ذو مسار تنفيذ غير معروف الأمر الذي يجعل من شبه المستحيل تتبع الأخطاء الحاصلة وتصحيحها.
من جهة أخرى، هنالك حالات يكون فيها استعمال العبارة goto
مفيدًا ويبسِّط الشيفرة بشكل كبير. إحدى هذه الحالات هي تجزئة حلقة for
متشعبة أو كتلة if
شرطية عند شروط معينة.
انظر أيضًا
- العبارة
break
: تُستعمَل للخروج من الحلقات التكرارية، إذ تتخطى الشيفرة التي بعدها وشروط الحلقة المحددِّة وتخرج منها. - الحلقة
do...while
: - العبارة
else
: - الحلقة
for
: - العبارة
for
: - الحلقة
if...else
: - العبارة
return
: - التعبير
switch...case
: - الحلقة
while
: