Goto

Материал из MK90.ORG wiki
Перейти к: навигация, поиск

Справка Язык | Библиотеки | Сравнение | Изменения

goto

Описание

Передает управление в определенную меткой точку программы.

Синтаксис


label:
goto label; // продолжить исполнение кода с метки label

Совет

Использование оператора goto не поощряется в программировании на C, во многих руководствах по программированию можно прочесть о том, что программы всегда могут обойтись и без goto. Однако, при разумном использовании, он может значительно упростить некоторые программы. Причина, по которой большинство программистов избегают goto - бессистемное многократное его использование может напрочь запутать и сделать невозможной отладку.

Но, как уже упоминалось, существуют случаи, когда goto может пригодиться и упростить кодирование. Одной из таких ситуаций является выход из вложенных циклов или операторов if при определенных условиях:

Пример


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;}
            // еще какие-то операторы ... 
        }
    }
}
bailout:

Руководство по Wiring


Исправления, пожелания и новые статьи должны быть опубликованы через Форум.

Оригинальные тексты руководств и переводы распространяются Arduino и MK90 на условиях лицензии Creative Commons Attribution-ShareAlike 3.0 License. Примеры исходных кодов и ссылки являются общественным достоянием.