Go语言入门(六)——循环语句

循环语句的三种形式

与C、java、python不同的是GO只存在for循环语句,但是Go的for循环语句也能够起到其他语言中while语句的作用
下面展示三种for循环的使用方式

常规for循环

for i:=初始值; i <= 终止值; i++ {
	//代码块
}

充当while的for循环

i:=初始值
for i < 结束值 {
	// 代码块
	// i向着结束值方向改变
}

for与range配合使用

需要注意的是for与range配合进行迭代时迭代的变量必须可迭代类型:数组或者字典

for idx, value range m { // m为可迭代的变量
	//代码块
}

for 循环示例

package main

import "fmt"

func main(){
	for i:=0; i < 10; i++ {
		fmt.Printf("i:%v\n", i)
	}
	fmt.Printf("\n")
	
	i:=0
	for i < 10 {
		fmt.Printf("i:%v\n", i)
		i++
	}
	
	var a = []int{1, 2, 3, 4, 5}
	for idx, value := range a {
		fmt.Printf("idx:%v, value:%v\n", idx, value)
	}
	
	mp:=make(map[int]string, 0)
	mp[0] = "hello"
	mp[1] = "world"
	for key, value := range mp {
		fmt.Printf("key:%v, value:%v\n", key, value)
	}
}

在这里插入图片描述

终止循环

break

如果在循环中直接写break则break退出的是break所在的循环;同时Go允许我们在进入某一层循环前定义一个标签,可以在break时指定标签使得可以直接退出标签指定的循环

示例

我们假定我们有两个循环,我们要在找到两循环和为10的情况下退出循环
直接break的情况

package main

import "fmt"

func main(){
	for i:=0; i < 10; i++ {
		for j:=0; j < 10; j++ {
			fmt.Printf("i:%v, j:%v, sum:%v\n", i, j, i + j)
			if i + j >= 10{
				break
			}
		}
	}
}

在这里插入图片描述
从运行结果来看并没有达到我们的要求,因为单独使用break只能退出当前break所在的循环
带标签的break

package main

import "fmt"

func main(){	
	ENDLABEL:
	for i:=0; i < 10; i++ {
		for j:=0; j < 10; j++ {
			fmt.Printf("i:%v, j:%v, sum:%v\n", i, j, i + j)
			if i + j >= 10{
				break ENDLABEL
			}
		}
	}
	
}

在这里插入图片描述

continue

continue的基本定义和其他语言无异,与break一样,它也可以定义一个标签,直接continue标签下的循环

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

艾醒(AiXing-w)

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值