[Golang-Learning] Day2 基本的流程控制

条件语句

if

if condition{
    // do something
}

if ... else ...

if condition1{
    // do something
}else{
    // do something
}

switch ... case ... default ...

switch var1 {
    case val1:
        // do something
    case val2:
        // do something
    default:
        // do something
}

fallthrough

使用 fallthrough 会强制执行后面的 case 语句,fallthrough 不会判断下一条 case 的表达式结果是否为 true。

循环语句

和 C 语言的for一样:

for init; condition; post { 
    // do something
}

和 C 的while一样:

for condition { 
    // do something
}

和 C 的for(;;)一样:

for {
    // do something
 }

for 循环的 range 格式可以对 slice、map、数组、字符串等进行迭代循环。格式如下:

for key, value := range oldMap {
    // do something
}

使用break跳出当前循环,使用break label跳出对应标签下的第一重循环,格式如下

re:
    for{
        for{
            break re
        }
    }

使用continue跳过当前循环的剩余语句,使用continue label跳出对应标签下的第一重循环下的剩余语句,格式如下

re:
    for{
        for{
            continue re
        }
    }

使用label:xxxx定义标签,然后可使用goto label无条件跳到对应位置