当前位置: 首页 > news >正文

Golang中swtich中如何强制执行下一个代码块

switch 语句中的 case 代码块会默认带上 break,但可以使用 fallthrough 来强制执行下一个 case 代码块。

package mainimport ("fmt"
)func main() {isSpace := func(char byte) bool {switch char {case ' ': // 空格符会直接 break,返回 false // 和其他语言不一样//fallthrough // 返回 truecase '\t':return true}return false}fmt.Println(isSpace('\t')) // truefmt.Println(isSpace(' '))  // false
}

char' ' 时,匹配第一个 case。因为没有 fallthrough 语句,程序不会继续执行下一个 case,直接跳出 switch 语句。由于没有显式的 return 语句,所以默认返回 false

fmt.Println(isSpace('\t')):由于 '\t' 符合第二个 case,函数返回 true,因此打印 true

fmt.Println(isSpace(' ')):由于 ' ' 符合第一个 case,但没有 fallthrough,因此函数返回 false,打印 false

package mainimport ("fmt"
)func main() {isSpace := func(char byte) bool {switch char {case ' ':fallthroughcase '\t':return true}return false}fmt.Println(isSpace('\t')) // truefmt.Println(isSpace(' '))  // true
}

char' ' 时,fallthrough 会继续执行下一个 case 的语句,从而返回 true

最后给大家推荐一个LinuxC/C++高级架构系统教程的学习资源与课程,可以帮助你有方向、更细致地学习C/C++后端开发,具体内容请见 https://xxetb.xetslk.com/s/1o04uB

http://www.lryc.cn/news/390324.html

相关文章:

  • 读书笔记-Java并发编程的艺术-第4章(Java并发编程基础)-第2节(启动和终止线程)
  • 通俗大白话理解Docker
  • 题解:CF1981C(Turtle and an Incomplete Sequence)
  • Swift 中强大的 Key Paths(键路径)机制趣谈(上)
  • (十二)纹理和采样
  • QT创建地理信息shp文件编辑器shp_editor
  • 解析Kotlin中扩展函数与扩展属性【笔记摘要】
  • 【Java学习笔记】java图形界面编程
  • STM32入门笔记(03): ADC(SPL库函数版)(2)
  • 2024年7月2日 (周二) 叶子游戏新闻
  • 如何使用Spring Boot Profiles进行环境配置管理
  • Java错题归纳(二)
  • Grafana面试题精选和参考答案
  • Node版本管理工具 fnm 安装使用
  • vector模拟实现【C++】
  • 《每天5分钟用Flask搭建一个管理系统》第11章:测试与部署
  • Landsat数据从Collection1更改为Collection2
  • 《每天5分钟用Flask搭建一个管理系统》第12章:安全性
  • Unity之创建与导出PDF
  • 【Android面试八股文】优化View层次过深问题,选择哪个布局比较好?
  • 什么是带有 API 网关的代理?
  • sql拉链表
  • STM32CubeMX实现矩阵按键(HAL库实现)
  • mmdetection3D指定版本安装指南
  • SQLMap工具详解与SQL注入防范
  • 如何在Java中实现自定义数据结构:从头开始
  • 【机器学习】在【Pycharm】中的应用:【线性回归模型】进行【房价预测】
  • 如何在 Linux 中后台运行进程?
  • 软考-软件设计师
  • UOS系统中JavaFx笔锋功能