由于goto语句可以不受限制的灵活跳转,使得其成为了有争议的语句。
我个人观点是最好不用或是禁用。
首先,由于goto语句可以灵活跳转会导致破坏结构化设计风格,若一段代码多次使用goto语句会降低代码的可读性。
其次,goto语句的执行可能会跳过变量的初始化、重要的计算语句等,甚至影响到整个程序的运行。
列如:
goto state;
String s1,s2; //被goto跳过
int sum = 0; //被goto跳过
......
.....
state:
......
如果编译器不能发现此类错误,每用一次goto语句都可能留下隐患。