Go语言之控制语句(十一)

2022-09-11 13:40:42 浏览数 (2)

Go语言之控制语句

  • 条件语句if,if...else,嵌套if,else if
  • 条件语句switch,select
  • 循环语句for
  • 控制语句中使用到的关键词goto、break、continue

代码演示

代码语言:javascript复制
package main
        import (
        
        "fmt"
        "time"
        )
        func main()  {
           //条件语句if,if...else,嵌套if,else if
           a := 3
           if a > 1 {
              fmt.Print("a 大于 1")
              if a < 4 {
                 fmt.Print("a 小于 4")
              }
           }
           //条件语句switch判断类型
           var b interface{}
           b = 32 
           switch b.(type) {
               case int:
                   fmt.Print("int")
               case string:
                   fmt.Print("string")
               case bool:
                   fmt.Print("bool")
               default:
                   fmt.Print("other")
           }
           //循环语句for
           for  {   //默认不写为true无线循环
                fmt.Print(1)
                time.Sleep(1*time.Second)   //一秒钟执行一次
           }
           for i:=1;i<10;i   {   //带条件的for
                fmt.Print(i)
                fmt.Print("n")
                time.Sleep(1*time.Second)
           }
           //达到类似其它语言中foreach的结果
           c :=[]string{"a","b","c","d"}    //定义一个字符串数组
           for key,value:= range c {
                fmt.Print(key)
                fmt.Print("n")
                fmt.Print(value)
                fmt.Print("n")
           }
           //下划线省略key
            for _,value:= range c {
                fmt.Print(value)
                fmt.Print("n")
           }
           //控制语句中使用到的关键词goto、break、continue
           //goto 用法
           goto One
           fmt.Print("代码块")        //跳过这块代码
           One:
              fmt.Print("代码块1")
           //注意这种写法 : 无限循环
           Two:
              fmt.Print("代码块1")
              time.Sleep(1*time.Second)
           goto Two
           
           //break用法
           for  {
               fmt.Print("1")
               time.Sleep(1*time.Second)
               break
           }
           //终止当前循环,外层继续循环
           for i:=1;i<=3;i   {
              for j:=1;j<=2;j   {
                  fmt.Print("1")
                  time.Sleep(1*time.Second)
                  break
              }
           }
           //continue i大于等于2直接跳出本次循环继续下次循环
           for i:=1;i<=3;i   {
              if i>=2 {
                 continue
              }
              fmt.Print("1")
          }
        }

0 人点赞