golang 循环语句
在go语言中 循环语句只支持for,不像其他语言一样,有支持for和while循环。
for 循环表达式。
for 赋值操作;逻辑运算;自加{
}
如下打印10次1-10的随机数
func main() { rand.Seed(time.Now().UnixNano()) for i := 0; i < 10; i++ { fmt.Println(rand.Intn(10)) } }
死循环
go语言中死循环非常简单只要条件为true则循环一直下去,
func main() { rand.Seed(time.Now().UnixNano()) for true { fmt.Println(rand.Intn(10) + 100) } }
可以简写成下面这种方式
func main() {
rand.Seed(time.Now().UnixNano())
for {
fmt.Println(rand.Intn(10) + 100)
}
}
break和continue
go语言中的break和continue也和其语言一样,一般用在跳出循环,break跳出整个循环,continue跳出本次循环继续进行下次循环。
func main() { rand.Seed(time.Now().UnixNano()) for { fmt.Println(rand.Intn(10) + 100) break } }
func main() {
rand.Seed(time.Now().UnixNano())
for {
continue
fmt.Println(rand.Intn(10) + 100)
}
}
多层for循环中的 break和continue
如果多个for循环嵌套的话,那么break和continue跳出哪一个?是整个for还是当前for?下面代码运行的结果可以看出啦,break和continue只跳出当前的for循环
func main() { rand.Seed(time.Now().UnixNano()) for { fmt.Println("我是外面的for") for { fmt.Println("我是里面的for") break } } }
go to语句
goto语句用于跳到某一个标签。
func main() { for { fmt.Println("我是外面的for") for { fmt.Println("我是里面的for") goto breakhere } } breakhere: fmt.Println("breakarea") os.Exit(0) }
for 循环标签
在for循环中的标签的作用,用于多层for循环嵌套的时候,break和continue跳转问题,默认情况下break和continue只跳出当前的for
func main() { out: for { fmt.Println("i am out") for { break out } } }
Welcome to visit