一、break跳转控制语句
break语句用于终止某个语句块的执行,用于中断当前for循环或跳出switch语句。
//break入门
package main
import (
"fmt"
"math/rand"
"time"
)
func main(){
//定义一个变量用于统计次数
var count int
for {
//生成随机的时间点
rand.Seed(time.Now().UnixNano())
//生成随机的一个数
n := rand.Intn(100) + 1
count++
if n == 99 {
break //当满足条件就跳出循环
}
}
fmt.Printf("一共用了%v次",count)
}
二、break使用细节
break语句出现在多层嵌套的语句块中时,可以通过标签指明要终止的是哪一层语句块
//break入门
package main
import (
"fmt"
)
func main(){
//定义一个标签
lable:
for i := 0; i <= 3; i++ {
for j := 0; j <= 3; j++ {
if j == 2 {
break lable //当满足条件就跳到标签处
}
fmt.Println(j)
}
}
}
三、练习一
100以内的数求和,求出当和第一次大于20的当前数
//break入门
package main
import (
"fmt"
)
func main(){
//定义一个变量用于求和
var sum int
for i := 0; i <= 100; i++ {
sum += i
if sum > 20 {
fmt.Println("大于20的数",i)
break
}
}
}
练习二
实现登录验证,有三次机会,如果用户名为”张无忌”,密码"888"提示登录成功,否则提示还有几次机会。
//break练习
package main
import (
"fmt"
)
func main(){
//定义三个变量分别表示名字,密码,次数
var name string
var password string
var number int = 3
for i := 1; i <= 3; i++ {
fmt.Println("请输入你的名字")
fmt.Scanln(&name)
fmt.Println("请输入你的密码")
fmt.Scanln(&password)
if name == "张无忌" && password == "888" {
fmt.Println("登录成功")
break
} else {
number--
if number != 0{
fmt.Printf("你还有%v次机会\n",number)
}
}
if number == 0 {
fmt.Println("登录失败")
}
}
}