GO基础之流程控制语句
- 作者: 私念丶染流年初情
- 来源: 51数据库
- 2021-08-11
一、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")
}
}
推荐阅读
