1.流程控制
- 控制代码的执行顺序,根据基本结构实现复杂的程序流程控制。基本结构分别有顺序结构、选择结构和循环结构。
2.顺序结构
- 顺序结构按照一步步写出的语句执行,当没有别的流程控制语句时程序可以从上到下依次执行。
3.选择结构
- 选择结构由if语句和switch语句实现,它们分别是条件分支和多分支语句。
4.循环结构
- 条件满足的情况,会去循环0 - N次:for
if
- 条件分支语句是根据表达式的真假决定程序的走向。其中的判断条件是控制程序执行的关键,用 if...else来表示。格式如下:
* <font style="color:rgb(51, 51, 51);">if 单独存在</font>
* <font style="color:rgb(51, 51, 51);">if ... else</font>
* <font style="color:rgb(51, 51, 51);">if ... elseif ... else if ... else</font>
func main() {
var num int = 15
// if
if num > 100{
fmt.Println("num>100")
}
if num < 100 {
fmt.Println("num<100")
}
//if ... else
if num>100{
fmt.Println("num>100")
}else{
fmt.Println("num<100")
}
// if ... elseif ... else if ... else
var score int
fmt.Println("请输入数字:")
fmt.Scan(&score) //用于控制台接收输入
if score>=90 && score<=100{
fmt.Println("A")
}else if score>=80 &&score<=90{
fmt.Println("B")
}else if score>=70 &&score<=80{
fmt.Println("C")
}else if score>=60 &&score<=70{
fmt.Println("D")
}else {
fmt.Println("E")
}
}
**switch**
1.基本使用switch…case…defalut
score := 100
switch score{
case 100:
fmt.Println(score) //输出100
case 90:
fmt.Println(score)
default:
fmt.Println(score)
}
//省略条件 默认为true
switch {
case true:
fmt.Println("true") //输出true
case false:
fmt.Println("false")
default:
fmt.Println("defalut")
}
2.需要多个条件输出,case穿透:fallthrough
f := true
switch f{
case true:
fmt.Println("true") //输出true
fallthrough //强行执行下一个case
case false:
fmt.Println("false") //输出false,
fallthrough //强行执行下一个case
case true:
fmt.Println("true2") //输出true2
default:
fmt.Println("defalut")
}
3.终止case:break
f := true
switch f{
case true:
fmt.Println("true") //输出true
fallthrough //强行执行下一个case
case false:
fmt.Println("false") //输出true2
fallthrough //强行执行下一个case
case true:
if f==true{
break //满足条件 终止输出
}
fmt.Println("true2")
default:
fmt.Println("defalut")
}
for循环
for i:=0;i<=10;i++{
fmt.Println(“xxx”)
}
func main() {
sum:=0 //接收最后的结果
for i := 0; i <=10 ; i++ {
sum+=i
}
fmt.Println(sum)
}
for循环的结束与终止:continue 与 break
continue 结束当前循环,继续下一次循环
break 终止整个循环
for i:=0;i<=10;i++{
fmt.Println(i)
if i==5{
fmt.Println("i=5,停止循环")
break
}
}
for i := 0; i < 10; i++ {
if i==5 {
fmt.Println("跳出当前循环,不往下执行,继续下一个循环")
continue
}
fmt.Println(i)
}
func main() {
var admin string
var pass int
sum := 0 //记录登录错误次数
for {
//接收输入的用户名密码
fmt.Println("请输入用户名:")
fmt.Scan(&admin)
fmt.Println("请输入密码:")
fmt.Scan(&pass)
if admin == "admin" && pass == 123 {
fmt.Println("登录成功")
break
} else {
fmt.Println("请重新输入用户名和密码")
sum++
if sum == 3 {
fmt.Println("已连续输入错误3次,已退出")
break
}
}
}
}