go 语言-- 控制语句

1 循环语句

循环语句是一条表达式需要执行多次。Go 只有一种循环语句for循环, for循环语句不需要使用()

for 初始化语句;条件语句;修饰语句 {}

示列

package main

import "fmt"

func main() {
    sum := 0
    
    for i := 0; i < 10; i ++ {
        sum += i
    }
    
    fmt.Println(sum)
}

go 语言没有while语言,使用下面for语句:

func main() {
    sum := 1
    for sum < 1000 {
        sum += sum
    }
    fmt.Println(sum)
}

无限循环语句:

    for {
    }

2 if-else 结构

基本语法:

if condition {
  //do something
} else if condition2 {
  //do something
} else {
  //do something
}

示列:

package main
import (
    "fmt"
    "math"
)

func pow(x, n, lim float64) float64 {
    if v := math.Pow(x, n); v < lim {
        return v
    } else {
        fmt.Printf("%g >= %g\n", v, lim)
    }
    // can't use v here, though
    return lim
}

func main() {
    fmt.Println(
        pow(3, 2, 10),
        pow(3, 3, 20),
    )
}

3. switch 结构

语法结构:

switch var {
  case val1:
      ....
  case val2:
      ....
  default:
      ...
}

go 语言的switch比C语言的更灵活,var可以是任何类型, val1和val2可以是同一类型的任何值。go语言的switch语句匹配到某个分支,执行完之后直接退出switch代码块,不需要执行break, 如果需要则可以使用关键字fallthrough

    switch i {
    case 0: //空分支,当i==0时执行
    case 1:
        f() //当i==0时不执行

    }

    //case 2
    switch i{
    case 0:fallthrough
    case 1:
        f() //当i==0时也会被调用
    }

4 break和continue

go语言和break和continue和C语言的作用基本一致。

1、关键字break对应for循环是跳出当前循环,对应switch和select是跳出switch和selcet的代码块。
2、关键字continue忽略剩余的循环体直接进入下一个循环

你可能感兴趣的:(go 语言-- 控制语句)