Diferencia entre revisiones de «goto»
De ArduWiki
(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
Contenido
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 ...