Go break使用及注意事项

跳转控制语句-break

  • 看一个具体需求,引出 break
    • 随机生成 1-100 的一个数,直到生成了 99 这个数,看看你一共用了几次?
    • 分析:编写一个无限循环的控制,然后不停的随机生成数,当生成了 99 时,就退出这个无限循环==>break 提示使用
我们为了生成一个随机数,还需要个rand设置一个种子.

time.Now().Unix() : 返回一个从1970:01:01 的0时0分0秒到现在的秒数
rand.Seed(time.Now().Unix())

rand.Seed(time.Now().UnixNano())   UnixNano将t表示为Unix时间,即从时间点1970:01:01  UTC到时 
                                   间点t所经过的时间(单位纳秒)。

如何随机的生成1-100整数

n := rand.Intn(100) + 1 // [0 100)
  • 随机生成1-100的一个数,直到生成了99这个数,看看你一共用了几次
var count int = 0
for {
	rand.Seed(time.Now().UnixNano())
	n := rand.Intn(100) + 1
	fmt.Println("n=", n)
	count++
	if (n == 99) {
		break //表示跳出for循环
	}
}

fmt.Println("生成 99 一共使用了 ", count)

 


  • 基本介绍:
    • break 语句用于终止某个语句块的执行,用于中断当前 for 循环或跳出 switch 语句。
  • 基本语法:
{ 
    ……
    break 
    ……
}
  • for 循环使用 break 为例,画出示意图


break 的注意事项和使用细节

  • break 语句出现在多层嵌套的语句块中时,可以通过标签指明要终止的是哪一层语句块

lable2: 
for i := 0; i < 4; i++ {
	//lable1: // 设置一个标签
	for j := 0; j < 10; j++ {
		if j == 2 {
			//break // break 默认会跳出最近的for循环
			//break lable1 
			break lable2 // j=0 j=1
		}
		fmt.Println("j=", j) 
	}
}
  • 对上面案例的说明
    • break 默认会跳出最近for 循环
    • break 后面可以指定标签,跳出标签对应的 for 循环

  • break演示案例
    • 100以内的数求和,求出 当和 第一次大于20的当前数
sum := 0
for i := 1; i <= 100; i++ {
	sum += i //求和
	if sum > 20 {
		fmt.Println("当sum>20时,当前数是", i)
		break
	}
}

  • 实现登录验证,有三次机会,如果用户名为”鲁班七号” ,密码”666”提示登录成功,否则提示还有几次机会.
var name string 
var pwd string
var loginChance = 3 //
for i := 1 ; i <= 3; i++ {
	fmt.Println("请输入用户名")
	fmt.Scanln(&name)
	fmt.Println("请输入密码")
	fmt.Scanln(&pwd)

	if name == "鲁班七号" && pwd == "666" {
		fmt.Println("恭喜你登录成功!")
		break
	} else {
		loginChance--
		fmt.Printf("你还有%v次登录机会,请珍惜\n", loginChance)
	}
}

if loginChance == 0 {
	fmt.Println("机会用完,没有登录成功!")
}

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值