go 的程序控制大体分红三种 if for case 语句ide
一、 if 循环
if-else 语句之间能够有任意数量的 else if。
条件判断顺序是从上到下。若是 if 或 else if 条件判断的结果为真,则执行相应的代码块。 若是没有条件为真,则 else 代码块被执行。oop
语法结构post
if condition{
}else if condition{
}else{测试
}code
定义示列it
package main import "fmt" func iftest() { score :=61 if score > 60{ fmt.Println("成绩合格") } else if score >90{ fmt.Println("成绩优秀") }else if score<0 { fmt.Println("成绩不能为负数") }else if score < 60 { fmt.Println("成绩不合格") } else{ fmt.Println("成绩不合法") } } func main() { iftest() // 输出 成绩合格 }
二、for 循环
go 循环只有一种叫作for
语法结构
for initialisation; condition; post {
}io
初始化语句只执行一次。循环初始化后,将检查循环条件。若是条件的计算结果为 true ,则 {} 内的循环体将执行,
接着执行 post 语句。post 语句将在每次成功循环迭代后执行。在执行 post 语句后,条件将被再次检查。
若是为 true, 则循环将继续执行, 不然 for 循环将终止。class
示列test
package main import "fmt" func fortest1() { for i :=1;i <=10;i++{ fmt.Println(i) } } // 输出 1 2 3 4 5 6 7 8 9 10 //在 go 中 break语句在完成执行以前忽然终止for 循环,以后程序将会在for 循环下开始下一行 代码开始执行 for i:=2; i<=20 ;i+=2{ if i >8{ break } fmt.Printf("%d",i) } fmt.Printf("\nline after for loop") // 输出 当 i的值大于8后, fmt.Printf("%d",i) ,就终止执行了,执行最后一个fmt.Print 2468 line after for loop // continue continue 语句用来跳出 for 循环中当前循环, 在 continue 语句后的全部的 for 循环语句都不会在本次循环中执行。循环体会在一下次循环中继续执行。 for i :=1;i<=10;i++{ if i%2 ==0{ continue } fmt.Printf("%d",i) } } // 输出 ,当于为0 的不输出 13579 func main() { fortest1() } // go 的无限循环语句 for { fmt.Println("Hello World") }
三、switch 语句import
switch 语句用于基于不一样条件执行不一样动做,每一个case 分之都是惟一的,从上至下逐以测试,直到匹配为止
switch 语句的执行过程从上至下,直到找到匹配项,匹配项后面也不须要加break
switch 默认状况下case 最后带break 语句,匹配成功后不会执行其余case,可使用fallthrough
语法结构以下
switch var1 {
case val1:
...
case val2:
...
default:
...
}
package main import "fmt" func switchtest1() { var scores int = 90 switch scores{ case 90: fmt.Println("very good score") fallthrough case 80: fmt.Println("good score") case 60: fmt.Println("just ok") } } 输出 ,当在case 90 条件下新增 fallthrough 时,case 80 的条件也会输出 good score very good score func main() { switchtest1() }