写点什么

【一 Go 到底】第十四天 ---break 快速入门

作者:指剑
  • 2022-10-14
    重庆
  • 本文字数:1043 字

    阅读完需:约 3 分钟

一、break 介绍

break 语句用于终止某个语句块的执行,用于中断当前 for 循环或跳出 switch 语句。

1.1 基本语法

{    ....    break    .....}
复制代码

1.2 注意事项

1.2.1 配合标签使用 label

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


label1: { .....label2:     {.....label3:           {.....                    break label2;                    ......        }    }
}
复制代码

二、案例分析

2.2 随机数案例

使用随机数生成数字 99 ,查看使用了多少次循环



package main
import ( "fmt" "math/rand" "time")
func main() {
// var count int
for { // 随机种子设置 rand.Seed(time.Now().UnixNano())
// 生成随机数 前闭后开 n := rand.Intn(100) + 1 fmt.Printf("随机生成 %v \n", n) count++ if n == 99 { fmt.Printf("当前运行了 %v 次", count) break }
}}
复制代码

2.2 标签案例

package main
import "fmt"
func main() {
label2: for i := 0; i < 5; i++ { for j := 0; j < 10; j++ { if j == 4 { //符合条件直接跳出大循环 break label2 } fmt.Println("j = ", j) } }}
复制代码

2.3 在 100 以内求和大于 30 时的数字

package main
import "fmt"
func main() {
// 100以内的数求和,求出 当前和总数大于30的 当前数 var count_sum int
for i := 1; i < 100; i++ { count_sum += i if count_sum > 20 { fmt.Printf("当前数为:%v \n", i) break } }}
复制代码

2.4 登陆验证案例

实现登陆验证,仅提供三次机会,指定用户密码匹配成功即为登陆成功


package main
import "fmt"
func main() {
// 实现登陆验证,匹配对应的用户名密码即为登陆成功 // 否则提示剩余机会
var userName string var passWord string
for i := 1; i <= 3; i++ { fmt.Printf("请输入用户名:") fmt.Scanln(&userName) fmt.Printf("请输入密码:") fmt.Scanln(&passWord) if userName == "feng" { if passWord == "12345678" { fmt.Println("登陆成功!") break } else { fmt.Println("密码错误,请重新输入") fmt.Printf("剩余次数 %v\n", 3-i) } } else { fmt.Println("用户名错误,请重新输入") fmt.Printf("剩余次数 %v\n", 3-i) } fmt.Println("机会用完,登录失败!") }}
复制代码


发布于: 刚刚阅读数: 4
用户头像

指剑

关注

InfoQ签约作者 2022-07-13 加入

AWS Community Builder,AWS Student Ambassador,阿里云专家博主,OPS社区创始成员

评论

发布
暂无评论
【一Go到底】第十四天---break快速入门_Go_指剑_InfoQ写作社区