GO语言学习——Go语言基础之流程控制二
使用switch语句方便对大量的值进行条件判断
package main
import "fmt"
// 流程控制之跳出for循环
func main(){
// 当i=5时就跳出for循环
for i:= 0; i < 10; i++ {
if i == 5 {
break // 跳出for循环
}
fmt.Println(i)
}
fmt.Println("over")
// 当i=5时,跳过此次for循环(不执行for循环内部的打印语句),继续下一次循环
for i:= 0; i < 10; i++ {
if i == 5 {
continue // 跳过此次for循环 继续下一次循环
}
fmt.Println(i)
}
fmt.Println("over")
}
goto(跳转到指定标签)
break(跳出循环)
continue(继续下次循环)
尽量少用goto语句
package main
import "fmt"
// switch
// 简化大量的判断(一个变量和具体的值作比较)
func main(){
// var n = 5
// if n == 1 {
// fmt.Println("大拇指")
// } else if n == 2 {
// fmt.Println("食指")
// } else if n == 3 {
// fmt.Println("中指")
// } else if n == 4 {
// fmt.Println("无名指")
// } else if n == 5 {
// fmt.Println("小拇指")
// } else {
// fmt.Println("无效的数字")
// }
// switch 简化上面的代码
// switch n {
switch n:= 3; n {
case 1:
fmt.Println("大拇指")
case 2:
fmt.Println("食指")
case 3:
fmt.Println("中指")
case 4:
fmt.Println("无名指")
case 5:
fmt.Println("小拇指")
default:
fmt.Println("无效的数字")
}
switch n := 7; n {
case 1, 3, 5, 7, 9:
fmt.Println("奇数")
case 2, 4, 6, 8:
fmt.Println("偶数")
default:
fmt.Println(n)
}
// 跳出多层for循环
var flag = false
for i := 0; i < 10; i++ {
for j := 'A'; j < 'Z'; j++ {
if j == 'C' {
flag = true
break // 跳出内层的for循环
}
fmt.Printf("%v-%c\n", i, j)
}
if flag {
break // 跳出for循环(外层的for循环)
}
}
// goto+label实现跳出多层for循环
for i := 0; i < 10; i++ {
for j := 'A'; j < 'Z'; j++ {
if j == 'C' {
goto xx // 跳到我指定的那个标签
}
fmt.Printf("%v-%c\n", i, j)
}
}
xx: // label标签
fmt.Println("over")
}
本文来自博客园,作者:寻月隐君,转载请注明原文链接:https://www.cnblogs.com/QiaoPengjun/p/16176949.html