09-GoLang流程控制

2018-10-10  本文已影响0人  箩篼

选择结构if


选择结构switch

switch num := 18.0; num { // 传递一个小数
    case 22:
        fmt.Println("该上班了")
    case 18:
        fmt.Println("该上大学了")
    default:
        fmt.Println("该干嘛干嘛")
    }

2.和C语言不一样, Go语言switch中还可以添加初始化表达式
3.和C语言不一样, Go语言不用编写break语句, 默认就不会穿透
4.在Go语言中, 如果想要穿透, 必须手动添加一个fallthrough

switch num := 18.0; num { // 传递一个小数
    case 22:
        fmt.Println("该上班了")
    case 18:
        fmt.Println("该上大学了")
        fallthrough // 告诉系统需要穿透
    default:
        fmt.Println("该干嘛干嘛")
    }

5.Go语言中的switch可以当做if来使用(可以写表达式)

    switch num := 50;{    //将判断放到case语句里面了
    case num >=0 && num <=50:
        value := 666
        fmt.Println("0~50之间的数")
        fmt.Println(value)
    case num >50 && num <=100:
        fmt.Println("51~100之间的数")
    default:
        fmt.Println("其它区间")
    }

6.default可以不写, 也可以写到其它位置, 无论写到哪都会最后判断执行
7.case后面定义变量不用添加大括号{}


循环结构


跳转

break

    switch num := 2; num {
    case 1:
        fmt.Println("1")
    case 2:
        fmt.Println("2")
        break     //一般不写
    default:
        fmt.Println("OTHER")
    }

    for num := 1; num <= 10; num++ {
        fmt.Println(num)
        if num == 5{
            break
        }
    }
lyw:
    //fmt.Println("start") // 标签和循环之间不能添加任何语句
    for num := 1; num <= 10; num++ {
        fmt.Println(num)
        if num == 5{
            break lyw
        }
    }
//lyw: // 标签只能写在前面
    fmt.Println("end")

continue

LNJ:
    for num := 1; num <= 10; num++ {
        if (num % 2) == 0{
            continue LNJ
        }
        fmt.Println(num)
    }

goto

    num := 1
outer:
    fmt.Println("start")
    if(num <= 10){
        fmt.Println(num)
        num++
        goto outer
    }
    fmt.Println("come here")

    for i:=1; i <= 10; i++{
        fmt.Println(i)
        if i == 5{
            goto LYW
        }
    }
LYW:
    fmt.Println("come here")

return

上一篇下一篇

猜你喜欢

热点阅读