How to jump to golang tags

PHPz
Release: 2023-05-15 09:14:36
Original
454 people have browsed it

You can use labels in Go language to implement jumps. A label is an identifier that ends with a colon (:) and can be placed before any statement, including loops and branching statements.

The syntax format for using label jump is as follows:

label:

statement
Copy after login

where label is the label name and statement is the statement. You can use the goto statement in the statement to jump to the specified label.

The following is a sample code:

package main

import "fmt"

func main() {
    outerLoop:
    for i := 0; i < 5; i++ {
        for j := 0; j < 5; j++ {
            if i == 3 && j == 3 {
                goto outerLoop
            }
            fmt.Printf("(%d,%d) ", i, j)
        }
        fmt.Println()
    }
}
Copy after login

In the above code, outerLoop is used as the label of the outer loop. If i and j are both equal to 3, jump to the location of the outerLoop label, which is the starting position of the outer loop.

The output results are as follows:

(0,0) (0,1) (0,2) (0,3) (0,4) 
(1,0) (1,1) (1,2) (1,3) (1,4) 
(2,0) (2,1) (2,2) (2,3) (2,4) 
(3,0) (3,1) (3,2) 
(0,0) (0,1) (0,2) (0,3) (0,4) 
(1,0) (1,1) (1,2) (1,3) (1,4) 
(2,0) (2,1) (2,2) (2,3) (2,4) 
(3,0) (3,1) (3,2) (3,3) (3,4) 
(4,0) (4,1) (4,2) (4,3) (4,4) 
Copy after login

It can be seen from the output results that when i and j are both equal to 3, the program jumps to the location of the outerLoop label and restarts the outer loop.

Using label jumps can make the logic of the program clearer, but excessive use of label jumps can also make the program difficult to maintain. Therefore, you should consider carefully when using tag jumps to avoid abuse.

The above is the detailed content of How to jump to golang tags. For more information, please follow other related articles on the PHP Chinese website!

source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
About us Disclaimer Sitemap
php.cn:Public welfare online PHP training,Help PHP learners grow quickly!