现在老师上课基本上不怎么讲goto语句,很多文章也提到不建议使用,那到底是为什么呢?
首先,可以证明,任何一个程序都可以使用三种基本的结构来构成,goto语句是多余的。为什么三种基本的程序结构就够了?
另外,goto容易使程序结构混乱。按结构化程序设计方法设计出的程序优点是:结构良好、各模块间的关系清晰简单、每一模块内都由基本单元组成。这样设计出的程序清晰易读,可理解性好,容易设计,容易验证其正确性,也容易维护。
那goto语句就没有一点好处吗?有,合理恰当使用goto可以优化程序设计,提高可读性。
任何一个结构化程序在编译以后都是需要用机器语言中的直接转移指令语句(同goto完全是一回事)来实现其结构的。在编译时,编译系统常常为了对程序进行优化而加入直接转移指令。汇编语言里面jump和goto类似。
用goto语句还能提高程序可读性?回答是肯定的。滥用goto是会破坏程序的可读性,但合理地使用goto语句,除了能提高程序的效率外,还是有可能增加程序的可读性的。
总的来说,对于初学者,还是应该尽量避免。如果你已经很了解程序了,确定goto会有所帮助,也是可以用的。