Golang入门笔记(5)—— 流程控制之switch分支

本文介绍了Go语言中switch语句的基本语法及注意事项,通过一个示例程序详细展示了如何使用switch进行条件判断,并解释了fallthrough关键字的作用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

        switch 有切换,开关的意思,我想这也许就是代码上的意义,通过表达式计算出一个值,然后进行状态的匹配和然后进行流程上的切换。

基本语法:

switch 表达式 {

        case 值a1,值a2, ...
            语句块
        case 值b1,值b2, ...
            语句块
        ...
        default :
            语句块

}

        简单记忆: switch 就是像是一个册封了的权力的头衔,表达式就像是一个将军。 当表达式给与了将军的头衔之后,他便开始开疆辟土 { } ,来了一个块作用域 ; 这里面有很多 表达式 计算出的值,就指向了 ,这个将军即将要去的地方,有茶馆,有电影院,有寺庙,有酒店,有图书管,有健身管, 语句块里面就像是将军在此场景下要做的事。default : 是默认,就是都没地方可去的时候,将军默认要做的事情,比如:睡觉休息。

package main

import "fmt"

func main() {

	switch placeNo := 4; placeNo % 10 {
	case 1, 2, 3:
		fmt.Println("1喝茶")
		fmt.Println("2喝茶")
		fmt.Println("3喝茶")
	case 4, 5:
		fmt.Println("4看书")
		fmt.Println("5看书")
		fallthrough
	case 6:
		fmt.Println("6看书")
	case 7, 8, 9:
		fmt.Println("7健身")
		fmt.Println("8健身")
		fmt.Println("9健身")
	default:
		fmt.Println("啥也不干,在家休息")
	}

}

注意事项:

        1 . case 的值,不能重复 ,否则 build编译的时候 ,会 dupicate case。

        2 . switch 后面的表达式,可以是一个常量值,变量,或可以取到值得函数 都可以。

        3 . case 后的值的数据类型,必须和表达式的数据类型一致。

        4 . case后面可以跟多种情况值, 如 本例。

        5 . default 语句非必须,位置可以随意。一般放在最后。

        6 . switch 可以不带表达式,只用case,当if 分支来使用。

        7 . 和if一样支持在switch 后面定义变量,用分号分隔。但并不推荐。

        8 . switch 穿透:利用fallthrough 关键字,如果在case 语句块后,增加 fallthrough ,会继续执行下一个case。如上的代码输出:4看书 5看书,就是因为 fallthrough 向下击穿了一个case,一个fallthrough,击穿的case, 有且仅有1一个。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值