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

发布于 2022-05-27  154 次阅读


条件语句

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无条件跳到对应位置a


一秒接过制服,一生志在蓝天