go break相关

跳转控制语句-break

随机生成1-100的一个数,当生成到99这个数的时候,看下生成了多少次
1、用for无限循环
2、随机数==99时,break并计数

package main

import (
    "fmt"
    "math/rand"
    "time"
)

func main() {

    var count int = 0

    for {
        //生成种子数,纳秒级
        rand.Seed(time.Now().UnixNano())
        n := rand.Intn(100) + 1
        fmt.Println("n=", n)
        count++
        if n == 99 {
            break //跳出循环
        }
    }
    fmt.Printf("生成99,一共用了%v次 \n", count)
}

break 的注意事项和使用细节

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

  • 看一个案例
label2:
    for i := 0; i < 4; i++ {
        //label1:
        for j := 0; j < 10; j++ {
            if j == 2 {
                break label2
            }
            fmt.Println("j=", j)
        }
    }

break 默认会跳出最近的for循环
break 后面可以指定标签,跳出标签对应的for循环

练习

1、100 以内的数求和,求出 当和 第一次大于 20 的当前数 。

    var sum int = 0
    for i := 1; i <= 100; i++ {
        sum += i
        if sum > 20 {
            fmt.Println("当前数=", i)
            break
        }
    }

2、实现登录验证,有三次机会,如果用户名为”张无忌” ,密码”888” 示登录成功,否则 提示 还有几次机会。

    var loginNum int = 3
    var user string
    var password string
    for {
        fmt.Println("请输入用户名")
        fmt.Scanf("%s", &user)
        fmt.Println("请输入密码")
        fmt.Scanf("%s", &password)
        if user == "song" && password == "888" {
            fmt.Println("登录成功!!!!")
            break //中止循环
        } else {
            loginNum--
            if loginNum == 0 {
                fmt.Println("错误超过3次,禁止登录!!")
                break //中止循环
            }
            fmt.Printf("请检查你的用户名和密码,你还剩下%v次机会!\n", loginNum)
        }
    }
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容