Go通关03:控制结构,if、for、switch逻辑语句

if 条件语句

func main() {
    i:=6
    if i >10 {
        fmt.Println("i>10")
    } else if i>5 && i<=10 {
        fmt.Println("5<i<=10")
    } else {
        fmt.Println("i<=5")
    }
}

注意:

  1. if 后的表达无 ‘( )’
  2. 每个条件分支中的 ‘{ }’ 是必须的。哪怕只有一行代码。
    3.if/else后的 ‘{’ 不能独占一行。否则编译不通过

switch 选择语句

if 条件语句比较适合分支比较少的情况。如果有很多分支,switch会更方便。

switch i:=6;{
case i > 10:
  fmt.Println("i>10")
case i > 6 && i <= 10:
  fmt.Println("5<i<10")
default:
  fmt.Println("i<=5")
}

注意: Go 语言为防止忘记写 break,case 后自带 break,这和其他语言不一样。

如果确实需要执行下一个 case ,可以使用 fallthrough 关键字

switch j:=1;j{
  case 1:
    fallthrough
  case 2:
    fmt.Println("1")
  default:
    fmt.Println("无匹配")
}

以上结果会输出 1。

当switch之后有表达式时,case后的值就要和这个表达式的结果类型相同,比如这里 j 是 int 类型,所以 case 后就得使用 int 类型。

for 循环语句

for 循环由三部分组成,其中需要使用两个 ; 分割:

sum := 0
for i := 1; i <= 100; i++{
  sum += i
}
fmt.Println("sum:",sum)

第一部分是简单语句
第二部分是 for 循环的条件
第三部分是更新语句
这三部分组成都不是必须的,可以被省略。

Go 语言中没有 while 循环,可以通过for达到while的效果:

sum := 0
i := 1
for i <= 100 {
  sum += 1
  i++
}

Go 中,同样支持continue,break 控制for循环。

  1. continue 跳出本次循环,进入下次循环。
  2. break 强行退出整个循环。

Go通关03:控制结构,if、for、switch逻辑语句

上一篇:xhprof 安装


下一篇:用工厂方法替代构造器