前言

今天来看看golang的基础分支选择结构,基本和其它语言差不多,只是golang的语法要求较为严格



1、 IF语句

    i :=80
    if i>90{
        println("优秀")
    }else if i>=60{
        println("及格")
    } else {
        println("挂科")
    }

    //if初始化子句  作用域局限于if里面
    if j :=100; j>10{
        println(j)
    }

if初始化子句 作用域局限于if里面



2、 switch语句

golang的switch的语句更加灵活易用

//switch 和if一样 也可以初始化
    //1
    score:=95
    grade:='A'
    switch  {
    case score>=90:
        grade = 'A'
    case score>=80:
        grade = 'B'
    case score>=60,score>=70:
        grade = 'C'
    default:
        grade = 'D'
    }

    println(string(grade))

    switch grade {
    case 'A','B':
        println("非常好")
    case 'C':
        println("加油")
    case 'D':
        println("垃圾")

    }

case里面可以写多个条件

case score>=60,score>=70:

同时注意golang里边的case不需要像c和java一样break



3、循环--- FOR循环


go里面没有while循环 但是可以用for达到同样的效果

    //for  没有while
    a:=1
    b:=4
    for a<b{
        print(a,"-")
        a++
    }
    println()
    for i:=1;i<4;i++{
        print(i,"-")
    }

range的使用 让循环更加方便 和python range功能有点差别
range 返回两个值 第一个为索引 第二个为值
range可以应用于所有可以迭代的类型

//range
    s:="泮斌Biningo"
    for index,c:=range s{
        println(index,"-",string(c))
    }

注意下面的写法是不可以的

for i,c:=range 5{
        fmt.Println(i,c)
    }