Go语言流程控制之goto语句与无限循环
作者:goldensun 时间:2023-08-31 06:43:00
goto语句
在Go编程语言中的goto语句提供无条件跳转从跳转到标记声明的功能。
注意:使用goto语句是高度劝阻的在任何编程语言,因为它使得难以跟踪程序的控制流程,使程序难以理解,难以修改。使用一个goto任何程序可以改写,以便它不需要goto。
语法
转到goto语句的语法如下:
..
.
label: statement;
在这里,标签(label)可以是除去关键字任何纯文本,它可以在任何地方设置在Go程序的上方或下方,以使用goto语句。
流程图:
例子:
package mainimport "fmt"
func main() {
/* local variable definition */
var a int = 10
/* do loop execution */
LOOP: for a < 20 {
if a == 15 {
/* skip the iteration */
a = a + 1
goto LOOP
}
fmt.Printf("value of a: %d\n", a)
a++
}
}
让我们编译和运行上面的程序,这将产生以下结果:
value of a: 10
value of a: 11
value of a: 12
value of a: 13
value of a: 14
value of a: 16
value of a: 17
value of a: 18
value of a: 19
无限循环
一个循环变得无限循环,如果条件永远不会为假。 for循环是传统上用于此目的。由于没有形成for循环是必需的三个表达式中,可以通过离开条件,使用空表达式或传递true给它形成一个死循环。
package main
import "fmt"
func main() {
for true {
fmt.Printf("This loop will run forever.\n");
}
}
当条件表达式为不存在,它被假定为真。你可能有一个初始化和增量的表达,但C程序员更普遍使用for(;;)结构来表示一个无限循环。
注意:您可以通过按Ctrl+ C键终止无限循环。
![](/images/zang.png)
![](/images/jiucuo.png)
猜你喜欢
Python网络安全格式字符串漏洞任意地址覆盖大数字详解
![](https://img.aspxhome.com/file/2023/9/127729_0s.png)
.Net Core SDK命令介绍及使用
![](https://img.aspxhome.com/file/2023/6/126196_0s.jpg)
SQL Server特殊磁带备份及恢复设计
SQL Server 2000“设备激活错误”的解决方法
![](https://img.aspxhome.com/file/2023/3/94443_0s.jpg)
详解微信小程序之提高应用速度小技巧
![](https://img.aspxhome.com/file/2023/0/136050_0s.png)
Python Pandas处理CSV文件的常用技巧分享
![](https://img.aspxhome.com/file/2023/1/99621_0s.png)
细化解析:SQL Server 2005 数据库镜像
django框架事务处理小结【ORM 事务及raw sql,customize sql 事务处理】
修改Vue打包后的默认文件名操作
![](https://img.aspxhome.com/file/2023/0/121970_0s.jpg)
Python实现多线程下载文件的代码实例
python实现批量修改文件名代码
![](https://img.aspxhome.com/file/2023/1/127831_0s.gif)
Python实现二叉树前序、中序、后序及层次遍历示例代码
tensorflow学习笔记之简单的神经网络训练和测试
![](https://img.aspxhome.com/file/2023/1/114641_0s.jpg)
如何在页面中对不同的数据进行相同的处理?
python 百度aip实现文字识别的实现示例
![](https://img.aspxhome.com/file/2023/5/66805_0s.png)
python 日期排序的实例代码
不能使用“;文件已在使用中 Microsoft JET Database Engine
SQL Server 中的数据类型隐式转换问题
![](https://img.aspxhome.com/file/2023/8/119218_0s.png)