做程序的网站,视差 长沙做网站,培训总结心得体会,斐讯路由器做网站映射本文原文#xff1a;http://golang.iswbm.comGithub#xff1a;https://github.com/iswbm/GolangCodingTimeGo里的流程控制方法还是挺丰富#xff0c;整理了下有如下这么多种#xff1a;if - else 条件语句switch - case 选择语句for - range 循环语goto 无条件跳转语句def…本文原文http://golang.iswbm.comGithubhttps://github.com/iswbm/GolangCodingTimeGo里的流程控制方法还是挺丰富整理了下有如下这么多种if - else 条件语句switch - case 选择语句for - range 循环语goto 无条件跳转语句defer 延迟执行前面三种我已经都讲过了今天要讲讲 goto 的无条件跳转。很难想象在 Go 居然会保留 goto因为很多人不建议使用 goto所以在一些编程语言中甚至直接取消了 goto。我感觉 Go 既然保留一定有人家的理由只是我目前还没感受到。不管怎样咱还是照常学习吧。0. 基本模型goto 顾言思义是跳转的意思。goto 后接一个标签这个标签的意义是告诉 Go程序下一步要执行哪里的代码。所以这个标签如何放置放置在哪里是 goto 里最需要注意的。goto 标签;
...
...
标签: 表达式;1. 最简单的示例goto 可以打破原有代码执行顺序直接跳转到某一行执行代码。import fmtfunc main() {goto flagfmt.Println(B)
flag:fmt.Println(A)}执行结果并不会输出 B 而只会输出 AA2. 如何使用goto 语句通常与条件语句配合使用。可用来实现条件转移 构成循环跳出循环体等功能。这边举一个例子用 goto 的方式来实现一个打印 1到5 的循环。import fmtfunc main() {i : 1
flag:if i 5 {fmt.Println(i)igoto flag}
}输出如下1
2
3
4
5再举个例子使用 goto 实现 类型 break 的效果。import fmtfunc main() {i : 1for {if i 5 {goto flag}fmt.Println(i)i}
flag:
}输出如下1
2
3
4
5最后再举个例子使用 goto 实现 类型 continue的效果打印 1到10 的所有偶数。import fmtfunc main() {i : 1
flag:for i 10 {if i%2 1 {igoto flag}fmt.Println(i)i}
}输出如下2
4
6
8
103. 注意事项goto语句与标签之间不能有变量声明否则编译错误。import fmtfunc main() {fmt.Println(start)goto flagvar say hello oldboyfmt.Println(say)
flag:fmt.Println(end)
}编译错误.main.go:7:7: goto flag jumps over declaration of say at .main.go:8:6好了今天的文章就到这里了。若今天的分享对你有帮助不如点个赞支持一下