GO基础之流程控制语句
程序员文章站
2022-06-24 12:18:30
switch 是一个条件语句,用于将表达式的值与可能匹配的选项列表进行比较,并根据匹配情况执行相应的代码块。它可以被认为是替代多个 if else 子句的常用方式。 ......
一、if分支语句
if 布尔表达式 1 { /* 在布尔表达式 1 为 true 时执行 */ }
if a := 2; a%2 == 0 { fmt.println("偶数") }
if 布尔表达式 1 { /* 在布尔表达式 1 为 true 时执行 */ }else{
/* todo else */
}
if a := 2; a%2 == 0 { fmt.println("偶数") } else { fmt.println("奇数") }
if 布尔表达式 1 { /* 在布尔表达式 1 为 true 时执行 */ }else if 布尔表达式 2{
/* 在布尔表达式 1 为 true 时执行 */
}else{ /* todo else */ }
func main() { var b = 70 if b >= 90 { fmt.println("优秀") } else if b >= 80 { fmt.println("良好") } else { fmt.println("及格") } }
二、for循环语句
func main() { //=======格式1=========== for i := 0; i < 10; i++ { fmt.println("i=", i) } //=======格式2=========== a := 2 for ; a < 5; a++ { fmt.println("a=", a) } //=======格式3(死循环)==== b := 10 for { if b == 5 { break } b-- fmt.println("b=", b) } }
break
语句用于在完成正常执行之前,突然终止 for 循环。
func main() { //=======格式1=========== for i := 0; i < 10; i++ { if i >= 5 { break } fmt.println("i=", i) } }
输出:i= 0;i= 1;i= 2;i= 3;i= 4
continue
语句用来跳出 for
循环中当前循环。在 continue
语句后的所有的 for
循环语句都不会在本次循环中执行。循环体会在一下次循环中继续执行。
func main() { for i := 0; i < 5; i++ { if i == 3 { continue } fmt.println("i=", i) } }
输出:i= 0;i= 1;i= 2;i= 4
goto 语句类似 continue 终止当前循环,进入指定的位置(loop)继续运行
func main() { num := 0 loop: for num < 5 { num++ if num%4 == 0 { goto loop } fmt.println("i=", num) } }
三、swich分支语句
go语言中的switch语句默认每个case 都有break,这与java语言略有不同
func main() { //=========== 格式一 =========== switch finger := 3; finger { case 1: fmt.println("1") case 2: fmt.println("2") case 3: fmt.println("3") default: fmt.println("0") } //===========case后可以多个条件=========== letter := "i" switch letter { case "a", "e", "i", "o", "u": // 一个选项多个表达式 fmt.println("hello") default: fmt.println("word") } //在 switch 语句中,表达式是可选的,可以被省略。如果省略表达式,则表示这个 switch 语句等同于 switch true num := 75 switch { // 表达式被省略了 case num >= 0 && num <= 50: fmt.println("num is greater than 0 and less than 50") case num >= 51 && num <= 100: fmt.println("num is greater than 51 and less than 100") case num >= 101: fmt.println("num is greater than 100") } }
fallthrough语句:在 go 中,每执行完一个 case 后,会从 switch 语句中跳出来,不再做后续 case 的判断和执行。使用 fallthrough
语句可以在已经执行完成的 case 之后,把控制权转移到下一个 case 的执行代码中。类似于java 中case之后不写break
func main() { //=========== 格式一 =========== switch finger := 3; finger { case 1: fmt.println("1") case 2: fmt.println("2") case 3: fmt.println("3") fallthrough default: fmt.println("0") } }
上一篇: java虚拟机介绍