Switch语句和for循环

Switch 的使用

//switch fallthrough的用法
var score int

fmt.Scan(&score)

switch score / 10 {
case 10:
fallthrough
case 9:
fmt.Println("A")
//case 内包含了 break 与 其他语言不同
case 8:
fmt.Println("B")
case 7:
fmt.Println("C")
case 6:
fmt.Println("D")
default:
fmt.Println("不及格")
}

//swicth 逗号分隔多个值
var score int

fmt.Scan(&score)

switch score / 10 {
case 10, 9:
fmt.Println("A")
case 8:
fmt.Println("B")
case 7:
fmt.Println("C")
case 6:
fmt.Println("D")
default:
fmt.Println("不及格")
}

//switch 通过分支区间判断
var score int

fmt.Scan(&score)

switch {
case score >= 90:
fmt.Println("A")
case score >= 80:
fmt.Println("B")
case score >= 70:
fmt.Println("C")
default:
fmt.Println("不及格")
}

注意:
/* Go 语言中没有while 和do while

For循环语句

//计算1-100的总和
sum:=0
//定义变量 满足条件 改变变量 {代码块}
for i:=1;i<=100;i++{
if i%was 2==0{
sum+=i
}
}

//方法2
for i:=0;i<=100;i+=2{
sum+=i
}

for循环练习题

//水仙花试题
for i:=100;i<1000;i++{
a:=i%10  //123%10 = 3
b:=i%100/10 //123%100 = 12
c:=i/100
if a*a*a +b*b*b +c*c*c == i{
fmt.Println(i)
}
}

for 嵌套循环

//外层循环执行一次,内层循环执行一周
for i := 0; i < 24; i++ {

for j := 0; j < 60; j++ {

for k := 0; k < 60; k++ {

fmt.Println(i, j, k)

time.Sleep(time.Second)

}
}
}

9*9乘法口诀(break)

//方法一 
//外层循环控制行 内层循环控制列
for i := 1; i <= 9; i++ {
for j := 1; j <= 9; j++ {
fmt.Printf("%d*%d=%d\t", j, i, j*i)
if i == j {
 //跳出本次循环
break
}
}
fmt.Println()
}
//方法 2
for i := 1; i <= 9; i++ {
for j := 1; j <= i; j++ {
fmt.Printf("%d*%d=%d\t", j, i, j*i)
}
fmt.Println()
}

注意:
\t 制表符 (对应英文 \tab)

跳出语句

案例1:
i := 0
for {
i++
fmt.Println("hello")
if i == 10 {
//跳出循环
break
}
}
注意:
break: 跳出循环

案例2:
sum := 0
for i := 0; i < 100; i++ {
if i%2 == 1 {
continue //结束本次循环,继续下次循环
}
sum += i
}
注意:
continue: 结束本次循环,继续下次循环

案例3: /* goto 无条件跳转语句 */
for i := 0; i < 100; i++ {
fmt.Println("hello")
if i == 10 {
goto HEAD //goto可以调到指定位置执行代码
}
}
fmt.Println("world")
HEAD: //指定代码块
fmt.Println("hello1111")

注意:
goto: 可以调到指定位置执行代码

 

posted @ 2021-03-08 20:29  慕欣安安  阅读(326)  评论(0编辑  收藏  举报