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:

COM6
Send
SETUP - TOP SETUP - BOTTOM
Autoscroll Show timestamp
Clear output
9600 baud  
Newline  

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:

Voir Également

ARDUINO BUY RECOMMENDATION

Arduino UNO R3
Arduino Starter Kit
Please note: These are affiliate links. If you buy the components through these links, We may get a commission at no extra cost to you. We appreciate it.

※ OUR MESSAGES

  • We are AVAILABLE for HIRE. See how to hire us to build your project
  • Any suggestion, correction, and translation? please email us at ArduinoGetStarted@gmail.com, We appreciate it
  • We mainly keep improving the references in English. See English version of this page for the latest update.