龙空技术网

学习Golang第8天 - goto语句——跳转到指定的标签

编程任珉 106

前言:

此刻小伙伴们对“c语言goto语句菜鸟教程”大体比较关注,同学们都需要学习一些“c语言goto语句菜鸟教程”的相关文章。那么小编同时在网摘上收集了一些对于“c语言goto语句菜鸟教程””的相关资讯,希望大家能喜欢,看官们快快来学习一下吧!

三年前就说要学习Go语言。一直没有系统学习下去,学习几天就断几月又想起来,没有延续性。最近在反思自己,为什么不能坚持!

想想每天都在看头条各种新闻、技术文章等,是否把学习经历发布于此会督促我学习下去

发布于此是为了督促自己坚持学习下去,希望和大家共同进步。谢谢!

使用 goto 退出多层循环

下面这段代码在满足条件时,需要连续退出两层循环,使用传统的编码方式如下:

package mainimport "fmt"func main() {    var breakAgain bool    // 外循环    for x := 0; x < 10; x++ {        // 内循环        for y := 0; y < 10; y++ {            // 满足某个条件时, 退出循环            if y == 2 {                // 设置退出标记                breakAgain = true                // 退出本次循环                break            }        }        // 根据标记, 还需要退出一次循环        if breakAgain {                break        }    }    fmt.Println("done")}

将上面的代码使用Go语言 goto 语句进行优化:

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

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

标签: #c语言goto语句菜鸟教程