github.com/goplus/gop@v1.2.6/printer/_testdata/21-Break-continue-goto/flow.gop (about)

     1  println("start")
     2  
     3  goto L
     4  println("before")
     5  L:
     6  	println("over")
     7  	i := 0
     8  L2:
     9  	if i < 3 {
    10  		println(i)
    11  		i++
    12  		goto L2
    13  	}
    14  	println("over")
    15  
    16  	sum := 0
    17  	arr := [1, 3, 5, 7, 11, 13, 17]
    18  	for i = 0; i < len(arr); i++ {
    19  		if arr[i] < 3 {
    20  			continue
    21  		}
    22  		if arr[i] > 11 {
    23  			break
    24  		}
    25  		sum += arr[i]
    26  	}
    27  	println("sum(3,5,7,11):", sum == 26, sum)
    28  	sum = 0
    29  L3:
    30  	for i = 0; i < len(arr); i++ {
    31  		if arr[i] < 3 {
    32  			continue L3
    33  		}
    34  		if arr[i] > 11 {
    35  			break L3
    36  		}
    37  		sum += arr[i]
    38  	}
    39  	println("sum(3,5,7,11):", sum == 26, sum)
    40  
    41  	z := 3
    42  	v := "Hello"
    43  	switch z {
    44  	case 3:
    45  		if v == "Hello" {
    46  			println("break")
    47  			break
    48  		}
    49  		println("break fail")
    50  	default:
    51  		println(z)
    52  	}
    53  L4:
    54  	switch z {
    55  	case 3:
    56  		if v == "Hello" {
    57  			println("break")
    58  			break L4
    59  		}
    60  		println("break fail")
    61  	default:
    62  		println(z)
    63  	}