码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • Golang入门笔记(5)—— 流程控制之switch分支


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

    基本语法:

    1. switch 表达式 {
    2. case 值a1,值a2, ...
    3. 语句块
    4. case 值b1,值b2, ...
    5. 语句块
    6. ...
    7. default :
    8. 语句块
    9. }

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

    1. package main
    2. import "fmt"
    3. func main() {
    4. switch placeNo := 4; placeNo % 10 {
    5. case 1, 2, 3:
    6. fmt.Println("1喝茶")
    7. fmt.Println("2喝茶")
    8. fmt.Println("3喝茶")
    9. case 4, 5:
    10. fmt.Println("4看书")
    11. fmt.Println("5看书")
    12. fallthrough
    13. case 6:
    14. fmt.Println("6看书")
    15. case 7, 8, 9:
    16. fmt.Println("7健身")
    17. fmt.Println("8健身")
    18. fmt.Println("9健身")
    19. default:
    20. fmt.Println("啥也不干,在家休息")
    21. }
    22. }

    注意事项:

            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一个。

  • 相关阅读:
    算法 数据结构 递归插入排序 java插入排序 递归求解插入排序算法 如何用递归写插入排序 插入排序动图 插入排序优化 数据结构(十)
    【数据库原理与应用】数据库应用实例— 教学管理系统
    手写promis(1)
    2022.11.3 英语背诵
    Linux控制台中,‘单引号‘和“双引号“的区别
    什么是tomcat, tomcat该如何使用?(java)
    十四、SpringBoot原理——SpringBoot应用是怎么启动的?从创建容器到运行容器,逐行分析完整过程
    基于SSM框架的人力资源管理系统毕业设计源码060936
    拼多多根据ID取商品详情 API 返回值说明
    《Linux运维篇:Linux系统运维指南》
  • 原文地址:https://blog.csdn.net/wdw18668109050/article/details/127896709
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号