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...»)
 
(Ejemplo)
 
(No se muestran 8 ediciones intermedias del mismo usuario)
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. Palabra terminada en ''':'''
  
 
== 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>
+
<syntaxhighlight lang="c++">
</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 ...
 +
</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 21:25 26 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