暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

第21节 goto语句

RubyHan 2019-06-26
256

goto语句

goto:可以无条件地转移到过程中指定的行。

语法结构:

  1. goto label;
  2. ..
  3. ..
  4. label: statement;

  1. package main
  2. import "fmt"
  3. func main() {
  4. /* 定义局部变量 */
  5. var a int = 10
  6. /* 循环 */
  7. LOOP: for a < 20 {
  8. if a == 15 {
  9. /* 跳过迭代 */
  10. a = a + 1
  11. goto LOOP
  12. }
  13. fmt.Printf("a的值为 : %d\n", a)
  14. a++
  15. }
  16. }

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

  1. err := firstCheckError()
  2. if err != nil {
  3. goto onExit
  4. }
  5. err = secondCheckError()
  6. if err != nil {
  7. goto onExit
  8. }
  9. fmt.Println("done")
  10. return
  11. onExit:
  12. fmt.Println(err)
  13. exitProcess()

千锋Go语言的学习群:784190273

对应视频地址:

https://www.bilibili.com/video/av47467197

源代码:

https://github.com/rubyhan1314/go_foundation


文章转载自RubyHan,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论