Golang教程

分支语句:if、else、switch

Preview
  • Golang 分支语句:if、else、switch
  • 1. if 语句
  • 2. else 语句
  • 3. else if 语句
  • 4. switch 语句

Golang 分支语句:if、else、switch

1. if 语句

if 语句是一个条件语句,可以用来根据条件执行不同的代码块。if 语句的语法格式如下:

if condition {
    // 符合条件的代码块
} else if condition2 {
    // 符合条件2的代码块
} else {
    // 不符合任何条件的代码块
}

其中,condition 和 condition2 都是要进行判断的条件,可以是一个布尔表达式、一个函数返回值等。如果 condition 为 true,则执行第一个代码块;如果 condition 为 false,但是 condition2 为 true,则执行第二个代码块;如果以上两个条件都不满足,则执行 else 代码块。

需要注意的是,if 条件语句中的 condition 表达式不一定是布尔类型,也可以是一个函数调用、一个变量、一个常量、一个算术表达式等。

例如:

num := 10
if num > 5 {
    fmt.Println("num > 5")
} else {
    fmt.Println("num <= 5")
}

输出结果为:

num > 5

2. else 语句

else 语句用于表示当 if 条件为 false 时要执行的代码块。如果 if 条件成立,则 else 代码块不会被执行。else 语句的语法格式如下:

if condition {
    // 符合条件的代码块
} else {
    // 不符合条件的代码块
}

例如:

num := 10
if num > 20 {
    fmt.Println("num > 20")
} else {
    fmt.Println("num <= 20")
}

输出结果为:

num <= 20

3. else if 语句

else if 语句用于表示多个条件分支,当 if 条件不成立时,会依次检查 else if 语句,直到找到符合条件的分支为止。else if 语句的语法格式如下:

if condition1 {
    // 符合条件1的代码块
} else if condition2 {
    // 符合条件2的代码块
} else {
    // 不符合任何条件的代码块
}

例如:

num := 10
if num > 20 {
    fmt.Println("num > 20")
} else if num > 10 {
    fmt.Println("num > 10")
} else {
    fmt.Println("num <= 10")
}

输出结果为:

num > 10

需要注意的是,如果多个条件都成立,则只会执行第一个成立的代码块。因此,在使用 else if 语句时,应该把最可能成立的条件放在最前面。

4. switch 语句

switch 语句是一种多路分支语句,用于根据不同的条件执行不同的代码块。switch 语句的语法格式如下:

switch expression {
case option1:
    // 符合 option1 的代码块
case option2:
    // 符合 option2 的代码块
...
default:
    // 不符合任何 option 的代码块
}

其中,expression 是一个表达式,而 option 则是一个常量或者值,可以有多个 option。当 switch 表达式的值与某个 option 的值相等时,就会执行相应的代码块。

例如:

num := 2
switch num {
case 1:
    fmt.Println("num is 1")
case 2:
    fmt.Println("num is 2")
default:
    fmt.Println("num is not 1 or 2")
}

输出结果为:

num is 2

需要注意的是,switch 语句还可以不带表达式,此时相当于 switch true,可以根据条件来执行不同的代码块。

例如:

num := 10
switch {
case num > 20:
    fmt.Println("num > 20")
case num > 10:
    fmt.Println("num > 10")
default:
    fmt.Println("num <= 10")
}

输出结果为:

num <= 10

以上就是对 Golang 分支语句 if、else、switch 的详细介绍,希望对你有所帮助。