大多数语言的switch语句,不在case后默认break是出于什么考虑?

发布于 2022-09-06 07:27:17 字数 35 浏览 33 评论 0

为什么会选择让编程者手动写break?是出于什么考虑么?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(8

策马西风 2022-09-13 07:27:17

case是从汇编时代留下来的典型“模式”,汇编时代有大量的cmp(比较)然后jmp(跳转),是一种非常常用的写法。C模仿了汇编的cmp+jmp模式设计出了switch-case模式,就这样switch-case就延续下来了,接下来各种模仿语言也就跟着用了。

情话墙 2022-09-13 07:27:17

用switch的时候。那要是我不要break怎么办,难道没这种情况?很多需求下,break也是不需要的。

初吻给了烟 2022-09-13 07:27:17
switch(n)
{
case 1:
case 2:
  执行代码块 a
  break;
case 3:
  执行代码块 b
  break;
default:
  xxx
}
// 我想在1和2的时候都执行代码块a,你凭啥要给我的case 1加break
红颜悴 2022-09-13 07:27:17

go语言就是默认break的,想要继续执行代码需要手动加fallthrough

樱花坊 2022-09-13 07:27:17

Haxe也是自动break。少了break语句少了一点灵活性,但也减少了一些出错的几率,各有取舍吧

爱的故事 2022-09-13 07:27:17

C#是半默认break,你不写会编译器会发错误

伤痕我心 2022-09-13 07:27:17

听说好像这是设计时的失误,但是还是被沿用下来了。

听闻余生 2022-09-13 07:27:17

因为除了break,还有continue

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文