Go 语言 for 循环

1、Go 语言循环语句

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

语法

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

和 C 语言的 for 一样:

for init; condition; post { }

和 C 的 while 一样:

for condition { }

和 C 的 for(;;) 一样:

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

for语句执行过程如下:

  • ①先对表达式1赋初值;
  • ②判别赋值表达式 init 是否满足给定条件,若其值为真,满足循环条件,则执行循环体内语句,然后执行 post,进入第二次循环,再判别 condition;否则判断 condition 的值为假,不满足条件,就终止for循环,执行循环体外语句。

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

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

for语句语法流程如下图所示:

package main

import "fmt"

func main() {

   var b int = 15
   var a int

   numbers := [6]int{1, 2, 3, 5} 

   /* for 循环 */
   for a := 0; a < 10; a++ {
      fmt.Printf("a 的值为: %d\n", a)
   }

   for a < b {
      a++
      fmt.Printf("a 的值为: %d\n", a)
   }

   for i,x:= range numbers {
      fmt.Printf("第 %d 位 x 的值 = %d\n", i,x)
   }   
}

2、Go语言实现其他语言中的While

方法1:golang 里面没有while关键字,可以用for+break实现

i:=0
for {
   if i <= 10 {
        break;
    }
    do something
    
}

与java里面等价的while:

int i = 0;
while(i<10){// notice there is only <
    do something
}

方法2:通过for循环

go实现代码及运行结果:

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

Java实现代码及运行结果:

public static void main(String[] args) {
        int i=0;
        while (i<10){
            System.out.print(i+"\t");
            i++;
        }
    }

猜你喜欢

转载自blog.csdn.net/weixin_42117918/article/details/82193470