Diferencia entre revisiones de «goto»

De ArduWiki
Saltar a: navegación, buscar
(Ejemplo)
 
(No se muestran 7 ediciones intermedias del mismo usuario)
Línea 8: Línea 8:
  
 
== Parametros ==
 
== Parametros ==
;Etiqueta: Marca de llegada de goto.
+
;Etiqueta: Marca de llegada de goto. Palabra terminada en ''':'''
  
 
== Advertencias ==
 
== Advertencias ==
Línea 16: Línea 16:
  
 
== Ejemplo ==
 
== Ejemplo ==
<pre>
+
<syntaxhighlight lang="c++">
 
for (byte g=255; g>-1; g--){  
 
for (byte g=255; g>-1; g--){  
 
   for (byte b = 0; b < 255; b++){  
 
   for (byte b = 0; b < 255; b++){  
Línea 27: Línea 27:
 
rescate:
 
rescate:
 
//más instrucciones ...  
 
//más instrucciones ...  
</pre>
+
</syntaxhighlight>
  
 
== Vea también ==
 
== Vea también ==
* [[if... else]]
+
<categorytree mode=all>Estructura control</categorytree>
* [[switch... case]]
 
* [[for]]
 
* [[while]]
 
* [[do... while]]
 
* [[continue]]
 
  
== Referencias ==
+
== Referencias externa==
 
* [https://www.arduino.cc/reference/es/language/functions/time/millis/ Guia de referencia de Arduino]
 
* [https://www.arduino.cc/reference/es/language/functions/time/millis/ Guia de referencia de Arduino]
  
[[Category:Estructura]]
+
[[Category:Estructura control]]

Revisión actual del 01:25 27 jun 2019

Descripción

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

Sintaxis

goto etiqueta;

Parametros

Etiqueta
Marca de llegada de goto. Palabra terminada en :

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 externa