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
0 Comments