GO语言循环语句-for循环

前言

GO语言中没有while循环,只有for循环。

GO语言有break、default 、func、select、case、defer、go、map、else、goto、for、if、var等25个关键字。

语法

1.常规写法

for i := 1; i <= 5; i++ {
    fmt.Println(i)
}

2.变形写法

i := 1; 
for i <= 5 {
    fmt.Println(i)
    i++ 
}

3.省略条件语句,变成while true

for {
    fmt.Println("Hello World")
}

4.嵌套for循环

for i := 1; i <= 5; i++ {
    for j := 1; j <= 5; j++ {
        fmt.Println(i, j)
    }
}

循环控制-break、continue、goto

break和continue

break和continue都是结束循环语句

  • break是用来结束整个循环语句
  • continue是用来结束此次循环居于
//当i=3时,结束for循环
for i := 1; i <= 5; i++ {
    if i == 3 {
        break
    }
}

//当i=3时,结束此次循环,开始下一次循环
for i := 1; i <= 5; i++ {
    if i == 3 {
        continue
    }
}

跳出外部循环

多重循环时,内部循环控制跳出外部循环,可以使用break 加上外部循环的标签块。

除了break、continue外,goto关键字也可以跳出循环。

package main

import (
	"fmt"
)

func main() {
	fmt.Println("---break跳出外部循环---")
OutLoop1:
	for i := 1; i <= 3; i++ {
		for j := 1; j <= 3; j++ {
			if j == 3 {
				break OutLoop1
			}
			fmt.Println([]int{i, j})
		}
	}

	fmt.Println("---continue跳出外部循环---")
OutLoop2:
	for i := 1; i <= 3; i++ {
		for j := 1; j <= 3; j++ {
			if j == 3 {
				continue OutLoop2
			}
			fmt.Println([]int{i, j})
		}
	}
}

输出

 

for ... range ...

for range每次获取一对值,下标和数值。for只能通过下标获取元素。

for range可以遍历切片、数组、字符串、Map、Channel

建议不需要后去下标时舍弃下标,提高性能

语法

for index, value := range arrayTest {
    ...
}

需要注意的是:

如“for index, value := range arrayTest {...}”遍历数组时。在for循环中直接对value进行修改或者赋值,实际数组中的元素不会发生改变。

原因是for range获取的value是将对象中的元素copy了一份。所以如果实际需要修改元素时,可以使用下标找到对应元素,再进行修改。

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值