Go语言 条件语句

条件语句是在程序执行过程中判断设定的条件是否成立,根据判断结果执行不同的操作。Go 语言中条件语句有 if、switch 和 select 3种。

条件语句是编程语言中最常用的语句结构之一,它可以通过判断条件,改变代码的执行顺序,从而实现更多的功能。

1. 条件语句的形式

语句描述
if 语句if 语句 由一个布尔表达式后紧跟一个或多个语句组成。
if...else 语句if 语句 后可以使用可选的 else 语句, else 语句中的表达式在布尔表达式为 false 时执行。
if 嵌套语句你可以在 ifelse if 语句中嵌入一个或多个 ifelse if 语句。
switch 语句switch 语句用于基于不同条件执行不同动作。
select 语句select 语句类似于 switch 语句,但是select会随机执行一个可运行的case。如果没有case可运行,它将阻塞,直到有case可运行。

2. if 条件语句

if 语句是编程语言中最常用的条件语句,常用于处理判断分支较少的情况。if 语句可以嵌套使用。

package main
import "fmt"

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

3. switch 条件语句

switch 条件语句适合处理判断分支较多的情况,而 if 条件语句适合处理判断分支较少的情况。在多判断分支情况下使用 switch 语句,不仅代码可读性较好,而且能够提高运行效率。

package main
import "fmt"

func main() {  
   finger := 4
   switch finger {
   case 1:
     fmt.Println("Thumb")
   case 2:
     fmt.Println("Index")
   case 3:
     fmt.Println("Middle")
   case 4:
     fmt.Println("Ring")
   case 5:
     fmt.Println("Pinky")
   default:
     fmt.Println("other")
   }
}

4. select 条件语句

select 条件语句属于条件分支流程控制方法,不过它只能用于通道 channel。它可以包含若干条 case 语句,并根据条件选择其中的一个执行。也就是说,select 条件语句中的 case 关键字只能后跟用于通道的发送操作的表达式以及接收操作的表达式。

package main
import "fmt"

func main() { 
   ch1 := make(chan int, 1)
   ch2 := make(chan int, 1)

   ch1 <- 3
   ch2 <- 5

   select {
   case <- ch1:
     fmt.Println("ch1 selected.")
   case <- ch2:
     fmt.Println("ch2 selected.")
   }
}

下一章:Golang 循环语句

Go语言 循环语句:在不少实际问题中有许多具有规律性的重复操作,因此在程序中就需要重复执行某些语句。Go语言中的循环语句只支持for关键字,而不支持 while 和 do-while 结构。for本身集成了 while 和 do-while 结构。