如题!
1)break 是结构化编程语法; goto 是非结构化编程,不推荐使用的。
2)当然你也可以使用 goto 来实现 任何 break,continue,功能上完全等价。
但是,用goto 你要定义标签,你定义的这些标签,可读性可就成问题了。
当然如果你善于编排,设计得很精心,可读性,可维护性,可修改性都非常好,也没有问题。但是一般人,都做不到。
3)break, continue 是一种“优雅编程”,节省了编程的心智负担,而且代码标准,非常容易阅读和理解,也非常容易修改,不用绞尽脑汁考虑 label该起什么名字,goto到这个 label 是什么意思了。
4)结构化编程,应该是20年以前的产物了,他的思想理念是一直延续至今。 不过关于 非结构化/结构化 的对照,现在不再宣传,我认为挺可惜的。
#1
更多评论