1.continue停止当前循环,开始下一次循环

package main

import "fmt"

func main() {
	for i := 1; i <=10; i++ {
		if i == 7 {
			continue
		}
		fmt.Println(i)
	}
}

//执行效果
GOROOT=/usr/local/go #gosetup
GOPATH=/Users/wang/GolangProjects #gosetup
/usr/local/go/bin/go build -o /private/var/folders/xb/kpzbs3093glfj2sg30q976cc0000gp/T/___go_build_main_go /Users/wang/GolangProjects/src/awesomeProject3/1.switch/main.go #gosetup
/private/var/folders/xb/kpzbs3093glfj2sg30q976cc0000gp/T/___go_build_main_go #gosetup
1
2
3
4
5
6
8
9
10

Process finished with exit code 0

2.for循环嵌套+continue

package main

import "fmt"

func main() {
	for i := 1; i < 3; i++ {
		for j :=1; j<5; j++{
			if j ==3 {
				continue
			}
			fmt.Println(i,j)
		}
	}
}

//执行效果
GOROOT=/usr/local/go #gosetup
GOPATH=/Users/wang/GolangProjects #gosetup
/usr/local/go/bin/go build -o /private/var/folders/xb/kpzbs3093glfj2sg30q976cc0000gp/T/___go_build_main_go /Users/wang/GolangProjects/src/awesomeProject3/1.switch/main.go #gosetup
/private/var/folders/xb/kpzbs3093glfj2sg30q976cc0000gp/T/___go_build_main_go #gosetup
1 1
1 2
1 4
2 1
2 2
2 4

Process finished with exit code 0

3.循环中遇到break,跳出循环

package main

import "fmt"

func main() {
	for i := 1; i < 3; i++ {
		for j :=1; j<5; j++{
			if j ==3 {
				break
			}
			fmt.Println(i,j)
		}
	}
}

//执行效果
GOROOT=/usr/local/go #gosetup
GOPATH=/Users/wang/GolangProjects #gosetup
/usr/local/go/bin/go build -o /private/var/folders/xb/kpzbs3093glfj2sg30q976cc0000gp/T/___go_build_main_go /Users/wang/GolangProjects/src/awesomeProject3/1.switch/main.go #gosetup
/private/var/folders/xb/kpzbs3093glfj2sg30q976cc0000gp/T/___go_build_main_go #gosetup
1 1
1 2
2 1
2 2

Process finished with exit code 0

4.对for进行打标签,通过break和continue就可以实现多层循环的跳出和终止

4.1跳出continue循环

package main

import "fmt"

func main() {
f1:
	for i := 1; i < 3; i++ {
		for j :=1; j<5; j++{
			if j ==3 {
				continue f1 //跳出f1这次循环
			}
			fmt.Println(i,j)
		}
	}
}

//执行效果
GOROOT=/usr/local/go #gosetup
GOPATH=/Users/wang/GolangProjects #gosetup
/usr/local/go/bin/go build -o /private/var/folders/xb/kpzbs3093glfj2sg30q976cc0000gp/T/___go_build_main_go /Users/wang/GolangProjects/src/awesomeProject3/1.switch/main.go #gosetup
/private/var/folders/xb/kpzbs3093glfj2sg30q976cc0000gp/T/___go_build_main_go #gosetup
1 1
1 2
2 1
2 2

Process finished with exit code 0

4.2跳出break循环

package main

import "fmt"

func main() {
f1:
	for i := 1; i < 3; i++ {
		for j :=1; j<5; j++{
			if j ==3 {
				break f1
			}
			fmt.Println(i,j)
		}
	}
}

//执行效果
GOROOT=/usr/local/go #gosetup
GOPATH=/Users/wang/GolangProjects #gosetup
/usr/local/go/bin/go build -o /private/var/folders/xb/kpzbs3093glfj2sg30q976cc0000gp/T/___go_build_main_go /Users/wang/GolangProjects/src/awesomeProject3/1.switch/main.go #gosetup
/private/var/folders/xb/kpzbs3093glfj2sg30q976cc0000gp/T/___go_build_main_go #gosetup
1 1
1 2


Process finished with exit code 0
Categories: go

0 Comments

发表评论

Avatar placeholder

邮箱地址不会被公开。 必填项已用*标注