Go - La declaración de goto

UN goto instrucción en el lenguaje de programación Go proporciona un salto incondicional desde el goto a una instrucción etiquetada en la misma función.

Note - Uso de gotoLa declaración se desaconseja en cualquier lenguaje de programación porque se vuelve difícil rastrear el flujo de control de un programa, lo que hace que el programa sea difícil de entender y de modificar. Cualquier programa que use un goto se puede reescribir usando alguna otra construcción.

Sintaxis

La sintaxis de un goto declaración en Go es la siguiente:

goto label;
..
.
label: statement;

Aquí, label puede ser cualquier texto sin formato excepto la palabra clave Go y se puede configurar en cualquier lugar del programa Go arriba o abajo para goto declaración.

Diagrama de flujo

Ejemplo

package main

import "fmt"

func main() {
   /* local variable definition */
   var a int = 10

   /* do loop execution */
   LOOP: for a < 20 {
      if a == 15 {
         /* skip the iteration */
         a = a + 1
         goto LOOP
      }
      fmt.Printf("value of a: %d\n", a)
      a++     
   }  
}

Cuando el código anterior se compila y ejecuta, produce el siguiente resultado:

value of a: 10
value of a: 11
value of a: 12
value of a: 13
value of a: 14
value of a: 16
value of a: 17
value of a: 18
value of a: 19