Go语言学习——如何掌握Go语言基础中的流程控制技巧?

2026-05-22 06:181阅读0评论SEO基础
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计452个文字,预计阅读时间需要2分钟。

Go语言学习——如何掌握Go语言基础中的流程控制技巧?

使用`switch`语句方便地对大量值进行条件判断。下面是简化后的代码:

gopackage main

import fmt

Go语言学习——如何掌握Go语言基础中的流程控制技巧?

func main() { for i :=0; i <10; i++ { switch i { case 5: break default: fmt.Println(i) }}

使用switch语句方便对大量的值进行条件判断

package main import "fmt" // 流程控制之跳出for循环 func main(){ // 当i=5时就跳出for循环 for i:= 0; i < 10; i++ { if i == 5 { break // 跳出for循环 } fmt.Println(i) } fmt.Println("over") // 当i=5时,跳过此次for循环(不执行for循环内部的打印语句),继续下一次循环 for i:= 0; i < 10; i++ { if i == 5 { continue // 跳过此次for循环 继续下一次循环 } fmt.Println(i) } fmt.Println("over") }

goto(跳转到指定标签)

break(跳出循环)

continue(继续下次循环)

尽量少用goto语句

package main import "fmt" // switch // 简化大量的判断(一个变量和具体的值作比较) func main(){ // var n = 5 // if n == 1 { // fmt.Println("大拇指") // } else if n == 2 { // fmt.Println("食指") // } else if n == 3 { // fmt.Println("中指") // } else if n == 4 { // fmt.Println("无名指") // } else if n == 5 { // fmt.Println("小拇指") // } else { // fmt.Println("无效的数字") // } // switch 简化上面的代码 // switch n { switch n:= 3; n { case 1: fmt.Println("大拇指") case 2: fmt.Println("食指") case 3: fmt.Println("中指") case 4: fmt.Println("无名指") case 5: fmt.Println("小拇指") default: fmt.Println("无效的数字") } switch n := 7; n { case 1, 3, 5, 7, 9: fmt.Println("奇数") case 2, 4, 6, 8: fmt.Println("偶数") default: fmt.Println(n) } // 跳出多层for循环 var flag = false for i := 0; i < 10; i++ { for j := 'A'; j < 'Z'; j++ { if j == 'C' { flag = true break // 跳出内层的for循环 } fmt.Printf("%v-%c\n", i, j) } if flag { break // 跳出for循环(外层的for循环) } } // goto+label实现跳出多层for循环 for i := 0; i < 10; i++ { for j := 'A'; j < 'Z'; j++ { if j == 'C' { goto xx // 跳到我指定的那个标签 } fmt.Printf("%v-%c\n", i, j) } } xx: // label标签 fmt.Println("over") }

本文共计452个文字,预计阅读时间需要2分钟。

Go语言学习——如何掌握Go语言基础中的流程控制技巧?

使用`switch`语句方便地对大量值进行条件判断。下面是简化后的代码:

gopackage main

import fmt

Go语言学习——如何掌握Go语言基础中的流程控制技巧?

func main() { for i :=0; i <10; i++ { switch i { case 5: break default: fmt.Println(i) }}

使用switch语句方便对大量的值进行条件判断

package main import "fmt" // 流程控制之跳出for循环 func main(){ // 当i=5时就跳出for循环 for i:= 0; i < 10; i++ { if i == 5 { break // 跳出for循环 } fmt.Println(i) } fmt.Println("over") // 当i=5时,跳过此次for循环(不执行for循环内部的打印语句),继续下一次循环 for i:= 0; i < 10; i++ { if i == 5 { continue // 跳过此次for循环 继续下一次循环 } fmt.Println(i) } fmt.Println("over") }

goto(跳转到指定标签)

break(跳出循环)

continue(继续下次循环)

尽量少用goto语句

package main import "fmt" // switch // 简化大量的判断(一个变量和具体的值作比较) func main(){ // var n = 5 // if n == 1 { // fmt.Println("大拇指") // } else if n == 2 { // fmt.Println("食指") // } else if n == 3 { // fmt.Println("中指") // } else if n == 4 { // fmt.Println("无名指") // } else if n == 5 { // fmt.Println("小拇指") // } else { // fmt.Println("无效的数字") // } // switch 简化上面的代码 // switch n { switch n:= 3; n { case 1: fmt.Println("大拇指") case 2: fmt.Println("食指") case 3: fmt.Println("中指") case 4: fmt.Println("无名指") case 5: fmt.Println("小拇指") default: fmt.Println("无效的数字") } switch n := 7; n { case 1, 3, 5, 7, 9: fmt.Println("奇数") case 2, 4, 6, 8: fmt.Println("偶数") default: fmt.Println(n) } // 跳出多层for循环 var flag = false for i := 0; i < 10; i++ { for j := 'A'; j < 'Z'; j++ { if j == 'C' { flag = true break // 跳出内层的for循环 } fmt.Printf("%v-%c\n", i, j) } if flag { break // 跳出for循环(外层的for循环) } } // goto+label实现跳出多层for循环 for i := 0; i < 10; i++ { for j := 'A'; j < 'Z'; j++ { if j == 'C' { goto xx // 跳到我指定的那个标签 } fmt.Printf("%v-%c\n", i, j) } } xx: // label标签 fmt.Println("over") }