Golang Switch…案例陈述

在本教程中,您将学习如何使用switch-case语句根据Golang中的不同条件执行不同的操作。

高朗还支持类似于其他语言(如Php或Java)中的switch语句。 开关语句是另一种表达方式,它可以根据变量的状态将冗长的代码与其他更具可读性的代码进行比较。


高朗-切换语句

开关 语句用于选择要执行的许多代码块之一。

考虑以下示例,该示例在特定日期显示不同的消息。

package main
 
import (
	"fmt"
	"time"
)
 
func main() {
	today := time.Now()
 
	开关 today.Day() {
	案件 5:
		fmt.Println("Today is 5th. Clean your house.")
	案件 10:
		fmt.Println("Today is 10th. Buy some wine.")
	案件 15:
		fmt.Println("Today is 15th. Visit a doctor.")
	案件 25:
		fmt.Println("Today is 25th. Buy some food.")
	案件 31:
		fmt.Println("Party tonight.")
	默认:
		fmt.Println("No information available for that day.")
	}
}
 

默认 如果找不到匹配项,则使用该语句。


高朗-切换多个案例

带多格线的开关 语句用于为许多类似情况选择通用代码块。

package main
 
import (
	"fmt"
	"time"
)
 
func main() {
	today := time.Now()
	var t int = today.Day()
 
	开关 t {
	案件 5, 10, 15:
		fmt.Println("Clean your house.")
	案件 25, 26, 27:
		fmt.Println("Buy some food.")
	案件 31:
		fmt.Println("Party tonight.")
	默认:
		fmt.Println("No information available for that day.")
	}
}

高朗-切换失败案例声明

失败 关键字,用于强制执行流进入连续的case块。

package main
 
import (
	"fmt"
	"time"
)
 
func main() {
	today := time.Now()
 
	开关 today.Day() {
	案件 5:
		fmt.Println("Clean your house.")
		fallthrough
	案件 10:
		fmt.Println("Buy some wine.")
		fallthrough
	案件 15:
		fmt.Println("Visit a doctor.")
		fallthrough
	案件 25:
		fmt.Println("Buy some food.")
		fallthrough
	案件 31:
		fmt.Println("Party tonight.")
	默认:
		fmt.Println("No information available for that day.")
	}
}

以下是每月第10天的输出。

C:\golang\dns>go run example.go
Buy some wine.
Visit a doctor.
Buy some food.
Party tonight.

高朗-Swith条件案例声明

案件 语句也可以与条件运算符一起使用。

package main
 
import (
	"fmt"
	"time"
)
 
func main() {
	today := time.Now()
 
	开关 {
	案件 today.Day() < 5:
		fmt.Println("Clean your house.")
	案件 today.Day() <= 10:
		fmt.Println("Buy some wine.")
	案件 today.Day() > 15:
		fmt.Println("Visit a doctor.")
	案件 today.Day() == 25:
		fmt.Println("Buy some food.")
	默认:
		fmt.Println("No information available for that day.")
	}
}

高朗-开关初始化器语句

开关 关键字之后可以紧跟一个简单的初始化语句,在该语句中可以声明和初始化开关代码块本地变量。

package main
 
import (
	"fmt"
	"time"
)
 
func main() {
	开关 today := time.Now(); {
	案件 today.Day() < 5:
		fmt.Println("Clean your house.")
	案件 today.Day() <= 10:
		fmt.Println("Buy some wine.")
	案件 today.Day() > 15:
		fmt.Println("Visit a doctor.")
	案件 today.Day() == 25:
		fmt.Println("Buy some food.")
	默认:
		fmt.Println("No information available for that day.")
	}
}


您将在中了解有关Golang用于范围循环的信息 下一章.