Go语言:循环语句

发布于:2022-12-18 ⋅ 阅读:(132) ⋅ 点赞:(0)

在不少实际问题中有许多具有规律性的重复操作,因此在程序中就需要重复执行某些语句。


循环处理语句 

for循环

for 循环是一个循环控制结构,可以执行指定次数的循环。

语法:

Go 语言的 For 循环有 3 种形式,只有其中的一种使用分号。

和 C 语言的 for 一样:

for init; condition; post { }
  • init: 一般为赋值表达式,给控制变量赋初值;
  • condition: 关系表达式或逻辑表达式,循环控制条件;
  • post: 一般为赋值表达式,给控制变量增量或减量。

执行顺序:

init->condition->{}内代码->post->condition->{}内代码->post->condition...

和 C 的 while 一样:

for condition { }

 和 C 的 for(;;) 一样:

for { }

 for 循环的 range 格式可以对 slice、map、数组、字符串等进行迭代循环。格式如下:

for key, value := range oldMap {
    newMap[key] = value
}

 如果只想读取 key,格式如下:

for key := range oldMap

 或者

for key, _ := range oldMap

如果只想读取 value,格式如下:

for _, value := range oldMap

 循环嵌套

语法:

for [condition |  ( init; condition; increment ) | Range]
{
   for [condition |  ( init; condition; increment ) | Range]
   {
      statement(s);
   }
   statement(s);
}

举例

package main

import "fmt"

func main() {
   /* 定义局部变量 */
   var i, j int

   for i=2; i < 100; i++ {
      for j=2; j <= (i/j); j++ {
         if(i%j==0) {
            break; // 如果发现因子,则不是素数
         }
      }
      if(j > (i/j)) {
         fmt.Printf("%d  是素数\n", i);
      }
   }  
}

循环控制语句

 break

  • 用于循环语句中跳出循环,并开始执行循环之后的语句。
  • break 在 switch(开关语句)中在执行一条 case 后跳出语句的作用。
  • 在多重循环中,可以用标号 label 标出想 break 的循环。

continue

continue 不是跳出循环,而是跳过当前循环执行下一次循环语句

for 循环中,执行 continue 语句会触发 for 增量语句的执行。

在多重循环中,可以用标号 label 标出想 continue 的循环。


goto

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

goto 语句通常与条件语句配合使用。可用来实现条件转移, 构成循环,跳出循环体等功能。

但是,在结构化程序设计中一般不主张使用 goto 语句, 以免造成程序流程的混乱,使理解和调试程序都产生困难。

语法:

goto label;
..
.
label: statement;


网站公告

今日签到

点亮在社区的每一天
去签到