Go语言入门11---switch中的break和fallthrough以及for循环|Go主题月

1,377 阅读1分钟

switch中的break和fallthrough

break

可以用在switch中,也可使用在for循环中,强制结束case语句,从而结束switch分支

fallthrough

用于穿透switch,当switch中某个case匹配成功,就执行case语句,如果遇到fallthrough,那么后面紧邻的case,无需匹配,执行穿透执行。只能在case最后一行。

package main

import "fmt"

func main() {
	n:=2
	switch n {
	case 1:
		fmt.Println("一")
		fmt.Println("一")
	case 2:
		fmt.Println("二")
		break//强制结束case
		fmt.Println("二")
	case 3:
		fmt.Println("三")
		fmt.Println("三")
	}
	fmt.Println("..............")
	m:=2
	switch m {
	case 1:
		fmt.Println("一")
	case 2:
		fmt.Println("二")
		fallthrough
	case 3:
		fmt.Println("三")
		fallthrough
	case 4:
		fmt.Println("四")
	}
}

image.png

for循环语句

某些代码会被多次执行
for 表达式1;表达式2;表达式3{
    循环体
}
for init;condition;post{  }

package main

import "fmt"

func main() {
	for  i:=1;i<=5;i++{
		fmt.Println("hello world")
	}
}

image.png

for循环的其他写法

1.标准写法

 for 表达式1;表达式2;表达式3{
    循环体
  }

2.省略表达式1和表达式3

 for 表达式2{
    循环体
  }

3.省略三个表达式

 for {
    循环体
  }

4.for循环中省略任意表达式

    表达式1:定义
    表达式2:判断
    表达式3:变化
	for  i<5 {
		fmt.Println(i)
		i++;
	}

image.png

	for j:=1;;{
		fmt.Println(j)
		j++
		if j>5 {
			break
		}
	}

image.png

	m:=1
	for  {
		fmt.Println(m)
		m++
		if m>7 {
			break
		}
	}

image.png