论坛里又有人争论goto,匠人如是说——
俺家楼下小区花坛里,原本没有路,走的人多了,便也成了路。
为什么呢?因为走大路比较费工夫,很多人为了追求“行走的效率”,就去“抄近路”,直接穿越花坛的草丛,踩出一条新路来。
俺有时也会随大流,但俺心里知道抄近路是“不好的行为”,难免要踩坏花花草草。
goto有点类似于“抄近路”。——有效率,但不合规则。
在结构化编程中,只有3种程序结构:
1、顺序结构
2、条件分支结构(包括多重分支结构)
3、循环结构(当型、直到型)
这3种结构,都不需要依赖goto语句即可实现。所以说:“结构化编程没有给goto留位置。”
在实际应用中,goto仍旧有被用到。一般都是为了程序的效率。
这个话题的关键,就是要有结构化的编程理念。有了这个理念,偶然用用goto,只要不出格,也是可以的。
相关链接:关于goto的转帖