写程序为什么不主张用goto语句(为什么写程序都是用英文)

互联网- 2023-08-04 07:26:13

这个程序怎样不用goto实现,只用循环语句

style="text-indent:2em;">大家好,今天给各位分享写程序为什么不主张用goto语句的一些知识,其中也会对goto语句不建议进行解释,文章篇幅可能偏长,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在就马上开始吧!

本文目录

  1. go后面要加to吗
  2. go语言为什么不建议学
  3. 写程序为什么不主张用goto语句
  4. goto语句的精髓

go后面要加to吗

后边可以加to也可以不加to,例如:

1.Hehadtogotothehospitalfortreatment.他不得不去医院接受治疗。

2.Whydon'twegoandseeittogether?咱们为什么不一起去看看呢?

3.Theresultisgoingtobetooclosetocall.双方实力非常接近,因此结果无法预料。

4.Don'tgo─Imightneedyou.别走——我可能要你帮忙。

5.Hehadtogotohospitalfortreatment.他不得不去医院接受治疗。

go语言为什么不建议学

Golang有很多明显的不足之处

其中第一个是错误、异常处理麻烦,且不能跨协程捕获异常。在Golang中,你要针对每一个协程的异常进行单独处理,判断是否存在错误你需要使用很多像err!=nil这样的语句。

写程序为什么不主张用goto语句

MISRA(TheMotorIndustrySoftwareReliabilityAssociation),中文名称为汽车工业软件可靠性联会,是英国的一个跨国汽车工业协会,其成员包括了大部分欧美汽车生产商。其核心使命是为汽车工业提供服务和协助,帮助厂方开发安全的、高可靠性的嵌入式软件。MISRAC则是由MISRA提出的针对嵌入式C语言开发标准,目的是提高嵌入式系统的安全性、可读性和可移植性。

MISRAC明确规定不能使用goto语句,如下:

规则14.4(强制):goto语句不能使用。

规则14.5(强制):continue不能使用。

规则14.6(强制):函数应在函数结束有一个出口。

规则14.7(强制):witch、whiledo、whilefor语句体应是一个混合语句。

规则14.10(强制):所有ifelseif结构都应该由else结束。

我想,原因主要为:

1、二十几年前,当计算机编程尚处于起步阶段时,程序流程是由“GOTO”语句来控制。该类语句允许程序员对当前代码行断行,而直接进入另一个不同的代码段,在程序比较简单是用goto语句是比较灵活,但是当程序比较复杂时很容易造成程序流程的混乱。

2、破坏了清晰的程序结构,使程序的可读性变差,甚至成为不可维护的"面条代码"。

3、经常带来错误或隐患,比如它可能跳过了某些对象的构造、变量的初始化、重要的计算等语句。

4、GOTO语句使程序的静态结构和动态结构不一致,从而使程序难以理解,难以查错。

如果确实不可避免需要使用,下列关于使用goto语句的原则可以供参考:

1)使用goto语句只能goto到同一函数内,而不能从一个函数里goto到另外一个函数里。2)使用goto语句在同一函数内进行goto时,goto的起点应是函数内一段小功能的结束处,goto的目的label处应是函数内另外一段小功能的开始处。3)不能从一段复杂的执行状态中的位置goto到另外一个位置,比如,从多重嵌套的循环判断中跳出去就是不允许的。4)应该避免像两个方向跳转。这样最容易导致"面条代码"。

goto语句的精髓

goto语句

goto语句也称为无条件转移语句,其一般格式如:goto语句标号;其中语句标号是按标识符规定书写的符号,放在某一语句行的前面,标号后加半角冒号“:”。语句标号起标识语句的作用,与goto语句配合使用。

中文名

无条件转移

外文名

goto

举例

goto语句也称为无条件转移语句,其一般格式如下:

goto语句标号;

其中语句标号是按标识符规定书写的符号,放在某一语句行的前面,标号后加半角冒号“:”。语句标号起标识语句的作用,与goto句配合使用。如:

label:i++;

loop:while(x<7);

gotoloop;

C语言不限制程序中使用标号的次数,但各标号不得重名。goto语句的语义是改变程序流向,转去执行语句标号所标识的语句。

goto语句通常与条件语句配合使用。可用来实现条件转移,构成循环,跳出循环体等功能。

但是,在结构化程序设计中一般不主张使用goto语句,以免造成程序流程的混乱,使理解和调试程序都产生困难。

如果你还想了解更多这方面的信息,记得收藏关注本站。

嵌入式C中,goto用得比较少
  • 声明:本文内容来自互联网不代表本站观点,转载请注明出处:bk.66688897.com/1/82558.html
上一篇:写肖战名字用什么颜色的笔好(怎样写肖战的名字好看)
下一篇:农村搞养殖能贷款吗需要注意什么(农村养殖贷款政策要什么条件)
相关文章
返回顶部小火箭