Go - The goto Statement

A goto statement in Go programming language provides an unconditional jump from the goto to a labeled statement in the same function.

Note − Use of goto statement is highly discouraged in any programming language because it becomes difficult to trace the control flow of a program, making the program difficult to understand and hard to modify. Any program that uses a goto can be rewritten using some other construct.


The syntax for a goto statement in Go is as follows −

goto label;
label: statement;

Here, label can be any plain text except Go keyword and it can be set anywhere in the Go program above or below to goto statement.

Flow Diagram

Go goto statement


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)

When the above code is compiled and executed, it produces the following result −

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
Kickstart Your Career

Get certified by completing the course

Get Started