【12】Go语言for嵌套循环语句和循环控制语句

Go 语言中可以在 if 或 else if 语句中嵌入若干个 if 或 else if 语句。
Go语言中if...else语句的语法如下:

if 布尔表达式1 {
           /* 在布尔表达式1为true时执行*/
           if 布尔表达式2{
                          /* 在布尔表达式2为true时执行*/
            }
}

例:以嵌套的方式判断学生成绩

package main
import "fmt"
func main() {
        if score := 98 ; scorce=>60 {
                 if  score => 70 {
                              if score  => 80 {
                                            if score => 90 {
                                                       fmt.Printfln("优")
                                            } else {
                                                    fmt.Printfln("良")
                                            }
                              } else {
                                         fmt.Printfln("中等")
                              }
                     } else {
                          fmt.Printfln("及格")
                     }
        }else {
          fmt.Printfln("不及格")
        }
}

循环控制语句
一. Go语言break语句
break,跳出循环体。break 语句用于终止当前正在执行的 for 循环,并开始执行循环之后的语句。Go语言中 break 语句可以结束 for、switch 和 select 的代码块,另外 break 语句还可以在语句后面添加标签,表示退出某个标签对应的代码块,标签要求必须定义在对应的 for、switch 和 select 的代码块上。

package main
import "fmt"
func main() {
        for i:= 1 ; i<= 10 ; i++ {
                    if i>5 {
                             break   //如果i>5,则循环终止(loop is terminated)
                   }
                     fmt.Printf("%d",i)
         }
fmt.Printf("\n line after for loop")
}

二.Go语言continue语句
Go 语言的 continue 语句有点像 break 语句。但是 continue 不是跳出循环,而是跳过当前循环,执行下一次循环语句。for 循环中,执行 continue 语句会触发 for 增量语句的执行。换言之,continue 语句用于跳过 for 循环的当前迭代,循环将继续到下一个迭代。仅限在 for 循环内使用,在 continue 语句后添加标签时,表示开始标签对应的循环,例如:

package main
import "fmt"
func main() {
OuterLoop:
    for i := 0; i < 2; i++ {
        for j := 0; j < 5; j++ {
            switch j {
            case 2:
                fmt.Println(i, j)
                continue OuterLoop       //代码说明:将结束当前循环,开启下一次的外层循环,而不是内层for循环。
            }
        }
    }

break 与 continue 的区别如下。
• break 语句无条件跳出并结束当前的循环,然后执行循环体后的语句。
• continue 语句跳过当前的循环,而开始执行下一次循环。

三.Go语言goto语句
Go 语言的 goto 语句可以无条件地转移到程序指定的行。goto 语句通常与条件语句配合使用。可用来实现条件转移、构成循环、跳出循环体等功能。但是,在结构化程序设计中一般不建议使用 goto 语句,以免造成程序流程的混乱,使理解和调试程序都产生困难。
goto语法格式:

LABEL : statement
goto LABEL

例:借助goto跳转来输出1~50的素数

package main
import "fmt"
func main() {
        var C , c int 
         C = 1
         LOOP :
        for C<50 {
              C++   //C=1 不能写入这里就不能写入
               for c = 2 ; c<C ; c++ {
                      if C%c == 0{
                              goto LOOP //若发现因子不是素数
                        }
             }
   fmt.Printf("%d\n",C)
   }
}
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容