go语言goto语句跳转到指定的标签实现方法

goto 语句通过标签进行代码间的无条件跳转。goto 语句可以在快速跳出循环、避免重复退出上有一定的帮助。Go 语言中使用 goto 语句能简化一些代码的实现过程。

使用 goto 集中处理错误

package main
import "fmt"
func main() {
 for x := 0; x < 10; x++ {
  for y := 0; y < 10; y++ {
   if y == 2 {
    // 跳转到标签
    goto breakHere
   }
  }
 }
 // 手动返回, 避免执行进入标签
 return
 // 标签
breakHere:
 fmt.Println("done")
}

代码说明如下:

  • 第 8 行,使用 goto 语句跳转到指明的标签处,标签在第 23 行定义。
  • 第 13 行,标签只能被 goto 使用,但不影响代码执行流程,此处如果不手动返回,在不满足条件时,也会执行第 16 行代码。
  • 第 15 行,定义 breakHere 标签。

使用 goto 语句后,无须额外的变量就可以快速退出所有的循环。

统一错误处理

多处错误处理存在代码重复时是非常棘手的,例如:

err := firstCheckError()
 if err != nil {
  goto onExit
 }
 err = secondCheckError()
 if err != nil {
  goto onExit
 }
 fmt.Println("done")
 return
onExit:
 fmt.Println(err)
 exitProcess()

代码说明如下:

  • 第 3 行和第 9 行,发生错误时,跳转错误标签 onExit。
  • 第 17 行和第 18 行,汇总所有流程进行错误打印并退出进程。

到此这篇关于go语言goto语句跳转到指定的标签实现方法的文章就介绍到这了,更多相关go goto语句跳转内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • C++跳转语句之Goto对变量定义的影响详解

    前言 goto语句也称为无条件转移语句,其基本形式如下 : 语句标号由一个有效地标识符和符号";"组成,其中,标识符的命名规则与变量名称相同,即由字母.数字和下划线组成,且第一个字符必须是字母或下划线.执行goto语句后,程序就会跳转到语句标号处,并执行其后的语句. 通常goto语句与if条件语句连用,但是,goto语句在给程序带来灵活性的同时,也会使得使程序结构层次不清,而且不易读,所以要合理运用该语句. 发现问题 我们经常碰到有在goto后面定义变量,linux下编译不通过的问题(

  • cmd goto命令 流程跳转

    如果对不同的情况,需要执行不同的既定操作,若还是按照常规的执行流程的话,是无法完成任务的,这个时候,就需要引入流程跳转的概念,动用流程跳转语句 goto 了.流程跳转的含义是:改变默认的执行顺序,强制跳转到指定的位置执行特定的程序块. 先来看个例子:假设需要判断用户输入的是A还是B,代码可以写成这样: 复制代码 代码如下: @echo off set /p input=请输入字母A或B: if "%input%"=="A" goto A if "%inpu

  • C++流程控制中用于跳转的return和goto语句学习教程

    return 语句 终止函数的执行并返回对调用函数的控制(或对操作系统的控制,如果您从 main 函数转移控制).紧接在调用之后在调用函数中恢复执行. 语法 return [expression]; 备注 expression 子句(如果存在)将转换为函数声明中指定的类型,就像正在执行初始化一样.从该类型的表达式到 return 类型的函数的转换会创建临时对象. expression 子句的值将返回调用函数.如果省略该表达式,则函数的返回值是不确定的.构造函数和析构函数以及类型为 void的函数

  • dos 流程跳转 goto

    如果对不同的情况,需要执行不同的既定操作,若还是按照常规的执行流程的话,是无法完成任务的,这个时候,就需要引入流程跳转的概念,动用流程跳转语句 goto 了.流程跳转的含义是:改变默认的执行顺序,强制跳转到指定的位置执行特定的程序块. 先来看个例子:假设需要判断用户输入的是A还是B,代码可以写成这样: @echo off set /p input=请输入字母A或B: if "%input%"=="A" goto A if "%input%"==&

  • go语言goto语句跳转到指定的标签实现方法

    goto 语句通过标签进行代码间的无条件跳转.goto 语句可以在快速跳出循环.避免重复退出上有一定的帮助.Go 语言中使用 goto 语句能简化一些代码的实现过程. 使用 goto 集中处理错误 package main import "fmt" func main() { for x := 0; x < 10; x++ { for y := 0; y < 10; y++ { if y == 2 { // 跳转到标签 goto breakHere } } } // 手动返

  • C语言goto语句简单使用详解

    简单介绍 C语言中提供了可以随意滥用的 goto语句和标记跳转的标号.从理论上 goto语句是没有必要的,实践中没有goto语句也可以很容易的写出代码.但是某些场合下goto语句还是用得着的,最常见的用法就是终止程序在某些深度嵌套的结构的处理过程,例如一次跳出两层或多层循环.这种情况使用break是达不到目的的.它只能从最内层循环退出到上一层的循环. 语法 C 语言中 goto 语句的语法: goto label; .. . label: statement; 示例对比 #include<std

  • Layui数据表格跳转到指定页的实现方法

    1.获取数据表格下分页组件中的页码输入框,具体元素在Elements中位置如下 2.获取上述input并设置其value属性值为目标跳转页面页码 $(".layui-laypage-skip").find("input").val(目标跳转页面页码 ); 3.触发跳转按钮的click事件 $(".layui-laypage-btn").click(); 备注:页码输入框和跳转按钮位置 以上这篇Layui数据表格跳转到指定页的实现方法就是小编分享给

  • Go语言流程控制之goto语句与无限循环

    goto语句 在Go编程语言中的goto语句提供无条件跳转从跳转到标记声明的功能. 注意:使用goto语句是高度劝阻的在任何编程语言,因为它使得难以跟踪程序的控制流程,使程序难以理解,难以修改.使用一个goto任何程序可以改写,以便它不需要goto. 语法 转到goto语句的语法如下: 复制代码 代码如下: goto label; .. . label: statement; 在这里,标签(label)可以是除去关键字任何纯文本,它可以在任何地方设置在Go程序的上方或下方,以使用goto语句.

  • 如何在Python中实现goto语句的方法

    Python 默认是没有 goto 语句的,但是有一个第三方库支持在 Python 里面实现类似于 goto 的功能:https://github.com/snoack/python-goto..比如在下面这个例子里, from goto import with_goto @with_goto def func(): for i in range(2): for j in range(2): goto .end label .end return (i, j, k) func() 在执行第一遍循

  • PHP goto语句用法实例

    问题 当 PHP 在执行代码过程,在某一时刻我们希望它能跳转到某一特定位置继续执行代码,该怎么做呢? 回答 在 PHP 中,我们可以使用 goto 操作符来使 PHP 代码执行器跳转到程序中某一特定位置.goto 的使用有一定限制,如:无法跳出一个函数或类,无法从外部跳入到一个函数,无法跳入到任何循环或者 switch 结构中.但可以跳出循环或者 switch,通常的用法是用 goto 代替 switch 中嵌套多层的 break. 语法 goto 会使 PHP 直接跳转到指定标志位置. got

  • 对Python3 goto 语句的使用方法详解

    熟悉 C 语言的小伙伴一定对 goto 语句不陌生,它可以在代码之间随意的跳来跳去,但是好多老鸟都告诫大家,不要使用 goto,因为 goto 会使你的代码逻辑变的极其混乱. 但是有时候我们不得不用它,因为它太高效了.比如进入循环内部深层一个 goto 就能回到最上层,还有可以定位到代码的任意一个位置,很是高效方便. 但是也不要所有的代码都用 goto,那样你的代码就变得像量子世界那样诡异,连你自己都控制不了. 最后一句忠告,能不用 goto 最好就不用. 首先安装一个 goto 的包(因为官方

  • C# goto语句的具体使用

    C# goto 语句用于直接在一个程序中转到程序中的标签指定的位置,标签实际上由标识符加上冒号构成. 语法形式如下. goto Labell; 语句块 1; Labell 语句块 2; 如果要跳转到某一个标签指定的位置,直接使用 goto 加标签名即可. 在上面的语句中使用了 goto 语句后,语句的执行顺序发生了变化,即先执行语句块 2,再执行语句块 1. 此外,需要注意的是 goto 语句不能跳转到循环语句中,也不能跳出类的范围. 由于 goto 语句不便于程序的理解,因此 goto 语句并

  • C 语言基础之C 语言三大语句注意事项

    目录 1.分支语句 2.if语句 3.switch语句 3.1语句结构 4.循环语句 4.1 while循环(do while类似) 4.2 do while循环 4.3 for循环 5.goto语句 在今天的内容介绍之前我们要知道:C语言中,由一个分号( ; )隔开的就是一条语句. 很好理解,如: int a=3;//语句1 printf("请大家多多指教!");//语句2 ;//语句3----空语句 今天讲解的内容,则是自己对于这三种语句一些细节的介绍.(并不是具体讲解这些语句)

随机推荐