goto

Description

Fait sauter le déroulement du programme à un point précis du programme signalé par un label.

Syntaxe

label: goto label; // fait sauter le déroulement du programme au point label:

Conseil

L'utilisation de l'instruction goto est déconseillée en programmation en langage C, et certains auteurs de livres de programmation en langage C affirment que l'instruction goto n'est jamais nécessaire. Cependant, utilisé judicieusement, il peut simplifier certains programmes. La raison pour laquelle de nombreux programmeurs rechignent à utiliser l'instruction goto est qu'avec une utilisation non restreinte d'instructions goto, il est facile de créer des programmes qui ne pourront jamais être débogués.

Ceci étant dit, il y a des circonstances où l'instruction goto tombe à pic et simplifie l'écriture du programme. Une de ces situations est la sortie de boucles imbriquées, ou de blocs de condition If sur une condition précise.

Exemple

Exemple 1

void setup() { Serial.begin(9600); Serial.println("SETUP - TOP"); goto BOTTOM; Serial.println("SETUP - MIDDLE"); BOTTOM: Serial.println("SETUP - BOTTOM"); } void loop() { }

The result on Serial Monitor:

Newbiely | Arduino IDE 2.3.8
──
File
Edit
Sketch
Tools
Help
Arduino Uno
Newbiely.ino
···
8 Serial.println("Hello World!");
Output
Serial Monitor
Message (Enter to send message to 'Arduino Uno' on 'COM15')
New Line
9600 baud
SETUP - TOP SETUP - BOTTOM
Ln 11, Col 1
Arduino Uno on COM15
2

As we can see, the text "SETUP - MIDDLE" is not printed.

Exemple 2

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 sortir; } // plus d'instructions } } } sortir:

ARDUINO BUY RECOMMENDATION

Arduino UNO R3
Arduino Starter Kit
Disclosure: Some links in this section are Amazon affiliate links. If you make a purchase through these links, we may earn a commission at no extra cost to you.
Additionally, some links direct to products from our own brand, DIYables .

※ OUR MESSAGES