GO语言条件控制

2018-10-07  本文已影响0人  超级皮波9

条件控制语句

选择结构 if

package main

func main() {
    //第一种
    if 初始化表达式; 条件表达式 {
        语句1
    }
    //第二种格式
    if 初始化表达式; 条件表达式 {
        语句1
    }else{
        语句2
    }
    //第三种格式
    if 初始化表达式; 条件表达式 {
        语句1
    }else if 初始化表达式; 条件表达式 {
        语句2
    }else{
        语句3
    }
}
package main

import "fmt"

func main() {
    //判断是否成年
    if num := 5; num<18{
        fmt.Println("未成年")
    }
}
package main

import "fmt"

func main() {
    //判断是否成年
    if num := 20; num<18{
        fmt.Println("未成年")
    }else{
        fmt.Println("成年人")
    }
}
  1. 条件表达式返回的是布尔类型
  2. if 后面的大括号( {} )不能省略. 条件表达式的括号省略()
  3. 可以在条件表达式前面增加初始化表达式
  4. 每个条件表达式前面都可以添加初始化表达式(会采用就近原则取值)
  5. 如果初始化表达式定义在if里面 那么变量就只能在if结构里面使用,定义的变量后面的结构都可以使用
    [25]

switch 语句

package main

func main() {

    // 第一种
    switch 值 {
    case 1:
        语句1
    case 2:
        语句2
    case 3:
        语句3
    default:
        语句4
    }
    //第二种
    switch 初始化表达式;值 {
    case 1:
        语句1
    case 2:
        语句2
    case 3:
        语句3
    default:
        语句4
    }
}
  1. GO语言中的switch 可以传入小数
  2. GO语言中的switch 可以添加初始化表达式
  3. GO语言中默认不用写break, 不会穿透,如果需要穿透,需要手动添加一个fallthrough
  4. Go语言中 default 可以不用写 也可以写到其他位置,系统都会最后执行
  5. GO语言中 case 后面可以直接定义变量,不用加大括号" {} "

循环控制语句

循环结构for

package main

func main() {
    
    for 初始化表达式;条件表达式;增量表达式  {
        循环语句
    }
    
}
for { }
package main

import "fmt"

func main() {

    for i:=0;i<10;i++{
        fmt.Println("我是go 语言的for")
    }

}

  1. 条件表达式只能返回布尔值
  2. 不能省略" {} "

四大跳转

break

  1. GO语言中的break可以跳转到指定标签
  2. 标签只能定义在前面,并且跳转到标签之后循环不会被再次执行
  3. 标签循环之间不能再编写其他语句
package main

import "fmt"

func main() {

  br:
    for i:=0;i<3;i++ {
        fmt.Println("break跳转")

        if i == 2 {

            break br
        }
    }// for end
}  //main end

continue

  1. 如果跳转的是单层循环,那么和不指定是一样的所以没有意义
  2. 如果跳转的多层循环,那么会结束当前内循环 跳转到下一次的外循环
  3. 跳转的标签 只能写在要跳转循环的前面
  4. 标签和要跳转的循环之间不能再有别的语句
package main

import "fmt"

func main() {

con:
    for i:=1;i<=5;i++{
        fmt.Println(i)
        for j:=1;j<=10;j++{
            if j%2 == 0{
                continue con  // 只要j=2满足条件就会跳出
            }
            fmt.Println("*****",j)  // 所以j 永远等于1
        }
    }
}  //main end
上一篇下一篇

猜你喜欢

热点阅读