go switch语句用map简化
时间: 2023-07-18 22:14:12 浏览: 51
在 Go 中,我们可以使用 map 来简化 switch 语句。具体来说,我们可以将 switch 语句中的每个 case 表达式与一个对应的函数关联起来,然后使用 map 将这些函数与 case 表达式进行映射。这样,在运行 switch 语句时,我们只需要根据输入的 case 表达式从 map 中获取对应的函数并执行即可。以下是一个示例代码:
```go
package main
import "fmt"
func main() {
switchFuncs := map[string]func(){
"case1": func() {
fmt.Println("Case 1")
},
"case2": func() {
fmt.Println("Case 2")
},
"case3": func() {
fmt.Println("Case 3")
},
}
input := "case2"
if f, ok := switchFuncs[input]; ok {
f()
} else {
fmt.Println("Invalid input")
}
}
```
在上面的示例代码中,我们定义了一个名为 switchFuncs 的 map,其中将每个 case 表达式与一个对应的函数进行了映射。在运行 switch 语句时,我们只需要根据输入的 case 表达式从 switchFuncs 中获取对应的函数并执行即可。