Golang教程--For Loop初学者指南与实例

499 阅读3分钟

这篇博文涵盖了Go语言中带有break、continue、goto关键字的For循环,并附有实例。

Golang For 循环

For 循环是用来执行特定次数的代码块的。它是Go语言中的一种控制结构类型。以下是for循环的语法

for initialization; conditional Boolean expression; increment|decrement {  
 // Code block  
}

以下是for循环语法的说明

  • 初始化是指可以声明和初始化起始值的变量。
  • 条件布尔表达式是指结果为真或假,如果为真,则执行代码块或一个迭代。否则,控制器将从循环执行中终止。这些表达式是使用比较运算符创建的,如==,!=,=等。表达式可以是单个或多个。多个表达式可以使用逻辑运算符组合 - &&,||,!
  • 递增/递减是在代码块执行后改变变量值。这个循环不需要括号。

下面是一个For循环的例子。这个循环执行了10次,并打印了每个迭代的变量值。

package main  
import "fmt"  
func main() {  
 for i := 0; i < 10; i++ {  
  fmt.Print(i)  
 }  
  
}  

上述代码的输出是

0123456789  

初始化和增量/减量在for循环中是不需要的 这里是一个没有初始化变量的例子

func main() {  
 i := 0  
 for ; i <= 10; i++ {  
  fmt.Print(i)  
 }  
}  

下面是一个没有增量/减量变量的例子

func main() {  
 i := 0  
 for i <= 10 {  
  fmt.Print(i)  
  i++  
 }  
}  

上述所有代码的输出是

0123456789  

破解语句

Break是golang中的一个关键字。它用于终止for循环的执行,控制器将被委托给for循环代码后的下一个语句。这也可以用在嵌套循环中,终止嵌套循环的执行,控制器在循环外执行。

下面是一个带有break语句的for循环的例子 在这个例子中,循环执行了1到10次迭代,在第5次迭代中,break关键字终止了for循环的执行,并执行了循环代码之后的语句。

func main() {  
 i := 0  
 for i <= 10 {  
  fmt.Print(i)  
  if i == 5 {  
   break  
  }  
  i++  
 }  
 fmt.Print("End")  
}  

上述程序的输出是

012345End  

break关键字也可以与标签语句一起使用,它可以中断终止,下面是一个break标签语句的例子

package main  
  
import "fmt"  
  
func main() {  
LOOPSECTION:  
 for i := 1; i <= 10; i++ {  
  if i%2 == 0 {  
   break LOOPSECTION  
  }  
  fmt.Print(i)  
 }  
 fmt.Print("End")  
  
}  

输出是

1End  

继续语句

Continue是一个关键字,用于在停止当前执行后继续执行下一个循环,其语法如下

continue;  

下面是一个使用continue关键字的for循环的例子

func main() {  
 for i := 1; i <= 10; i++ {  
  if i%2 != 0 {  
   continue  
  }  
  fmt.Print(i)  
 }  
 fmt.Print("End")  
  
}  

输出的代码是

246810End  

continue关键字也可以与标签语句一起使用,它可以从当前的执行中跳过执行。

func main() {  
LOOPSECTION:  
 for i := 1; i <= 10; i++ {  
  if i%2 == 0 {  
   continue LOOPSECTION  
  }  
  fmt.Print(i)  
 }  
 fmt.Print("End")  
}  

输出为

13579End  

goto label 语句

goto是go语言中的一个关键字。它用于跳转迭代到标签语句而不检查条件。其语法如下

goto LabelName;  
  
LabelName: code;  

下面是一个for循环的goto标签语句的例子,for循环从1到10迭代,当遇到5迭代时,它跳过第5个值到控制台。

func main() {  
 i := 1  
LOOPSECTION:  
 for ; i <= 10; i++ {  
  if i == 5 {  
   i++  
   goto LOOPSECTION  
  }  
  fmt.Print(i)  
 }  
 fmt.Print("End")  
  
}  

上述代码的输出是

1234678910End