洪流学堂,让你快人几步。
本篇内容来自洪流读书会解读书籍《代码大全2》。

使用case语句的3个诀窍

1、简化每种情况对应的操作

使得与每种情况相关的代码短小精悍。简短的情况处理代码会使case语句的结构更加清晰。如果某种情况执行的操作非常复杂,那么就写一个子程序,并在该情况对应的case子句中调用它,而不要把代码本身放进这一case子句里。

2、不要为了使用case语句而刻意制造一个变量

case语句应该用于处理简单的、容易分类的数据。如果你的数据并不简单,那么就使用if-then-else 语句串。为使用case而刻意构造出的变量很容易把人搞糊涂,你应该避免使用这种变量。

3、把default子句只用于检查真正的默认情况

有时候你只剩下了一种情况需要处理,于是就决定把这种情况编写为default子句(默认子句)。尽管这么做有时候很诱人,但却是很不明智的。你将失去case语句的标号(label)所提供的自动说明功能,而且也丧失了使用default子句检测错误的能力。但最好的就是利用default子句来检测错误。

扩展阅读

【扩展学习】在洪流学堂公众号回复读书会可以阅读本系列所有文章


我是大智(vx:zhz11235),你的技术探路者,下次见!

别走!点赞收藏哦!

好,你可以走了。

使用case语句的3个诀窍相关推荐

  1. shell脚本求和_【零基础学云计算】Shell编程之case语句与循环语句

    case多分支语句 循环语句 for循环语句 while循环语句 untli循环语句 Shell函数 Shell数组 case语句的结构 针对变量的不同取值,分别执行不同的命令序列 case 变量值 ...

  2. C语言case次数有限制吗,用switch...case语句统计数字、空格和其他字符出现的次数...

    //用switch...case语句统计数字.空格和其他字符出现的次数 //转自K&R #include int main(void) { int c, i, nwhite, nother, ...

  3. shell脚本中的case语句使用要点

    1.双分号(;;) 用于case语句中一个分支的结束. 可类比C++里面switch...case语句,在case语句之后,若所有语句都输完,后面跟着的"break;". 2.星号 ...

  4. fpga中的case语句

    case语句模型 module ex_case(input wire rst_n,input wire sclk,output reg o_dv,output reg [7:0] o_data,inp ...

  5. 在C++中对字符串std::string使用switch/case语句

    如果你使用C语音的string,也就是char *,是可以放在switch/case语句中的. 在C++中是不能对字符串string使用switch/case语句的,这里的string指的是std:: ...

  6. sqlserver中能用when_sqlserver中if语句顶替when.case.语句

    sqlserver中if语句替代when...case..语句 create table Employees ( EmployeeID char(6) primary key not null, Na ...

  7. mysql case设固定值_MySQL CASE语句将自定义值放置为NULL

    让我们首先创建一个表-mysql> create table DemoTable ( FirstName varchar(20) ); 使用插入命令在表中插入一些记录-mysql> ins ...

  8. php case语句 分号

    为什么80%的码农都做不了架构师?>>>    http://www.php.net/manual/zh/control-structures.switch.php 文档上说: 允许 ...

  9. select case语句举例_图解Go select语句原理

    Go 的select语句是一种仅能用于channl发送和接收消息的专用语句,此语句运行期间是阻塞的:当select中没有case语句的时候,会阻塞当前的groutine.所以,有人也会说select是 ...

最新文章

  1. asp.net中的MD5加密
  2. mysql or会用到索引吗_mysql or条件可以使用索引而避免全表
  3. 腕上“小型手机”!小米手表万事俱备 坐等发布
  4. 对于IDEA 导入eclipse项目后 没有办法启动部署 以及javax.servlet.http不存在
  5. 高速PCB设计中的屏蔽方法
  6. 计算机主板CPU接口最多支持,CPU供电接口
  7. 今日头条 推荐机制实现
  8. 微信签名错误解决步骤
  9. 爪哇语:??????? 字面量,分类和存储库
  10. Ubuntu 22.04 x86_64 OVF (sysin)
  11. windows10下wordcloud模块成功安装
  12. 这是我见过最好的Python教程:十分钟带你认识Python
  13. 画廊效果的ViewPager实现(附带无限自动轮播)
  14. 制作ubuntu光盘启动盘
  15. 记录配置tomcat配置默认项目session值失效的解决过程
  16. 席位预定中,第二届世界物联网安全峰会5.30-5.31
  17. android中TextView设置字体竖直排列
  18. 数据结构串、数组和广义表
  19. JSON转化成Excel文件
  20. 一文读懂电商产品架构

热门文章

  1. python tensorflow教程_TensorFlow入门教程
  2. MATLAB点击运行并计时没反应,MATLAB计时器对象陷阱和不良用法
  3. python测量镜头到目标距离_摄像头单目测距原理及实现
  4. react 父子传值_React父子组件传值
  5. mysql创建表时报150_Mysql创建表时报错error150
  6. oracle 索引_分享三个Oracle数据库索引监控脚本,值得收藏
  7. 最受欢迎的资源是高质量的GUI工具包
  8. UI设计实用素材|闪屏模板
  9. UI设计素材模板|游戏APP界面
  10. 观察者模式实际例子demo