for循环语句
1.在Go语言中循环结构只有一个 for
因为while/dowhile能做的for都能做, 所以Go只保留了for循环
2.for循环格式
for 初始化表达式;条件表达式;增量表达式{
循环体
}
特点:
1.没有非零即真的概念, 条件表达式的返回值必须是布尔类型
2.不能省略大括号
3.最简单的死循环
for{}
import "fmt"
func main() {
for i := 0; i < 20; i++ {
fmt.Println("打印点东西吧")
}
}
四大跳转
package main
import "fmt"
func main() {
/*
1.在C语言中有四大跳转语句 break continue goto return
2.在Go语言中也有四大跳转语句 break continue goto return
3.在C语言中break的应用范围和Go语言的应用范围一样
switch语句和循环语句
但是Go语言的switch语句中默认就不会穿透, 所以break写不写都行, 一般都不写
5.注意点:
Go语言中的break可以跳转到指定的标签, 但是标签只能定义在前面, 并且跳转到标签之后循环不会被再次执行
标签和循环之间不能编写其它语句
*/
for i := 0; i <= 10; i++ {
if i == 5 {
break //跳出循环
}
fmt.Println("打飞机")
}
}
package main
import "fmt"
func main() {
/*
1.在C语言中continue只能用于循环结构
2.在Go语言中和C语言一样, 也只能用于循环结构
3.使用的各种特性和C语言都一样, 唯一不一样的就是可以跳转到指定的标签
注意点:
如果跳转到指定的标签, 对于单层循环来说没有任何意义, 和不指定标签的效果一样
如果跳转到指定的标签, 对于多层循环来说才有意义, 结束当前内循环, 跳到下一次外循环
其它的注意点和break跳转到标签一样
标签只能定义在前面, 标签和循环之间不能添加其它语句
*/
//for i := 0; i < 10; i++ {
// if i % 2 == 0 {
// continue //和C语言一样结束本次循环进入下一次循环
// }
// fmt.Println(i)
//}
LNJ:
//num := 10 会报错
for i := 0; i < 10; i++ {
fmt.Println(i)
for j := 0; j < 10; j++ {
fmt.Printf("%d", j)
continue LNJ
}
}
}