Go关键字--break


友情推广
在这里插入图片描述

break

break用于退出循环代码块或者选择器代码块。如在for循环中使用break,表示退出for循环,在select或switch中使用break,表示退出选择器代码块。如果在for,switch,select关键字以外的地方使用break关键字,在编译时将会提示下边错误信息:

break is not in a loop, switch, or select

如果循环发生嵌套,则break只会退出它所在的循环或选择器代码块,对于外层的循环或选择器代码块并不会产生影响,如下边示例:

package main

import (
	"fmt"
	"time"
)

func main() {
	var str interface{} = "hello world"
	for {
		switch val := str.(type) {
		case string:
			fmt.Println("数据类型是:string,值是:", val)
			break
			fmt.Println("break是否产生作用?")
		case int:
			fmt.Println("数据类型是:int,值是:", val)
		default:
			fmt.Println("default")
		}
		time.Sleep(time.Second * 1)
	}
	fmt.Println("end")
}

输出信息是:

数据类型是:string,值是: hello world
数据类型是:string,值是: hello world
数据类型是:string,值是: hello world
......

上边的for循环会一直执行,由于break用在了switch关键字中,所有break只会退出switch选择器代码块,而不用对for循环产生影响。在输出信息中没有显示“break是否产生作用?”,这是由于break退出了当前分支,结束了选择器代码块。

猜你喜欢

转载自blog.csdn.net/hzwy23/article/details/82846260
今日推荐