switch语句:
package apigo import "fmt" func grade(score int) string { g :="" switch { case score <= 60: g="F" case score > 60: g="a" } return g } func main() { s:= grade(74) fmt.Println(s) //fmt.Println(age) fmt.Println(grade(60),grade(30)) }
select语句:
package main import ( "fmt" "time" ) func main() { /* 分支语句:if,switch,select select 语句类似于 switch 语句, 但是select会随机执行一个可运行的case。 如果没有case可运行,它将阻塞,直到有case可运行。 */ ch1 := make(chan int) ch2 := make(chan int) go func() { time.Sleep(2 * time.Second) ch2 <- 200 }() go func() { time.Sleep(2 * time.Second) ch1 <- 100 }() select { case num1 := <-ch1: fmt.Println("ch1中取数据。。", num1) case num2, ok := <-ch2: if ok { fmt.Println("ch2中取数据。。", num2) }else{ fmt.Println("ch2通道已经关闭。。") } } }
本文深入探讨了Go语言中的switch语句和select语句的使用。通过具体代码示例,详细解释了switch如何根据不同条件返回不同的结果,以及select如何在多个channel操作中随机选择一个可运行的case执行。对于理解并发编程和条件判断在Go语言中的实现至关重要。

被折叠的 条评论
为什么被折叠?



