Diferencia entre revisiones de «goto»

De ArduWiki
Saltar a: navegación, buscar
(Página creada con «== Descripción == == Sintaxis == <pre> </pre> == Advertencias == == Ejemplo == <pre> </pre> == Vea también == * if... else * switch...case * for * while...»)
 
Línea 1: Línea 1:
 
== Descripción ==
 
== Descripción ==
 +
Transfiere el flujo del programa a un punto etiquetado en el programa
  
 
== Sintaxis ==
 
== Sintaxis ==
 
<pre>
 
<pre>
 +
goto etiqueta;
 
</pre>
 
</pre>
 +
 +
== Parametros ==
 +
;Etiqueta: Marca de llegada de goto.
  
 
== Advertencias ==
 
== Advertencias ==
 +
* El uso de '''goto''' se desaconseja en la programación C++ ya que no es necesaria, pero si se usa juiciosamente, se pueden simplificar ciertos programas.
 +
* La razón por la que muchos programadores desaprueban el uso de goto es que con el uso incontrolado de sentencias goto, es fácil para crear un programa con el flujo del programa no definido, muy difícil de depurar.
 +
* Dicho esto, hay casos en que una instrucción goto puede venir bien y simplificar la codificación. Una de estas situaciones es para salir de anidado de los bucles, o de los bloques lógicos if, en una determinada condición.
  
 
== Ejemplo ==
 
== Ejemplo ==
 
<pre>
 
<pre>
 +
for (byte g=255; g>-1; g--){
 +
  for (byte b = 0; b < 255; b++){
 +
      if (analogRead(0) > 250){
 +
        goto rescate;
 +
      }
 +
      //más instrucciones ...
 +
  }
 +
}
 +
rescate:
 +
//más instrucciones ...
 
</pre>
 
</pre>
  
 
== Vea también ==
 
== Vea también ==
 
* [[if... else]]
 
* [[if... else]]
* [[switch...case]]
+
* [[switch... case]]
 
* [[for]]
 
* [[for]]
 
* [[while]]
 
* [[while]]

Revisión del 22:15 18 jun 2018

Descripción

Transfiere el flujo del programa a un punto etiquetado en el programa

Sintaxis

goto etiqueta;

Parametros

Etiqueta
Marca de llegada de goto.

Advertencias

  • El uso de goto se desaconseja en la programación C++ ya que no es necesaria, pero si se usa juiciosamente, se pueden simplificar ciertos programas.
  • La razón por la que muchos programadores desaprueban el uso de goto es que con el uso incontrolado de sentencias goto, es fácil para crear un programa con el flujo del programa no definido, muy difícil de depurar.
  • Dicho esto, hay casos en que una instrucción goto puede venir bien y simplificar la codificación. Una de estas situaciones es para salir de anidado de los bucles, o de los bloques lógicos if, en una determinada condición.

Ejemplo

for (byte g=255; g>-1; g--){ 
   for (byte b = 0; b < 255; b++){ 
      if (analogRead(0) > 250){ 
         goto rescate;
      } 
      //más instrucciones ... 
   } 
} 
rescate:
//más instrucciones ... 

Vea también

Referencias