Golang程序 在字符串上实现switch语句
Golang中的switch语句是一个控制流语句,它可以让你运行一个例子块:以应对各种情况。与if-else表达式类似,它可以更快地测试多个条件。在这篇文章中,我们将看到Go中的switch语句是如何在字符串上实现的。
方法1:使用默认情况作为回退选项
在这种方法中,如果检测到匹配,这个程序将验证输入变量,将其与案例进行比较,并执行例:的相关块;否则,它将运行默认案例块。让我们通过实例:和算法看看它是如何执行的。
算法
- 第1步 – 创建一个包main,并在程序中声明fmt(format package)包,其中main产生可执行的例子,fmt帮助格式化输入和输出。
-
第2步 – 创建一个函数main,并在该函数中创建一个名为input value的变量,并用字符串 “option2 “初始化它。
-
第 3步 – 在switch关键字后使用变量input_value。
-
第 4 步 – 为了指定switch语句的可能性,使用case关键字,后面跟一个字符串值。
-
第 5 步 – 如果变量input_value与所提供的case选项相匹配,就写出应该运行的例子:。
-
第 6步 – 为了处理任何不符合case选项的输入,使用默认的case作为后备选项。
-
第7步 – 要打印所选择的选项,使用fmt.Println()函数,其中ln表示新行。
例子
在这个程序中,我们将学习如何使用默认的case作为后备选项,对字符串执行switch语句。
package main
import "fmt"
func main() {
fmt.Println("The switch statement is executed like:")
input_value := "option2" //create an input value
switch input_value {
case "option1":
fmt.Println("Option 1 selected")
case "option2":
fmt.Println("Option 2 selected")
case "option3":
fmt.Println("Option 3 selected")
default:
fmt.Println("Invalid option selected") //set a default case
}
}
输出
The switch statement is executed like:
Option 2 selected
方法2:使用fallthrough关键字
在这种方法中,fallthrough关键字被用来将执行转到下一个案例块,在这个例子中,如果输入的是 “option2″,程序将运行示例:块为,”option2 “选中,”option3 “选中。
算法
- 第1步– 在程序中创建一个包main并声明fmt(格式包)包,其中main产生可执行的例子,fmt帮助格式化输入和输出。
-
第2步– 按照上面的程序,在这里重复到第4步,并在选项1、2和3中加入突破。
-
第 3步 – 使用默认情况下的无效选项。
-
第 4步 – 在突破的帮助下,下一个程序块将继续执行。
-
第5步 – 输出将使用fmt.Println()函数打印在控制台,ln表示新行。
例子
在这个例子中,我们将看到如何使用fall through关键字对字符串执行switch语句。
package main
import "fmt"
func main() {
input_value := "option2" //create an input value
fmt.Println("The switch statement is executed like:")
switch input_value {
case "option1":
fmt.Println("Option 1 selected")
fallthrough
case "option2":
fmt.Println("Option 2 selected")
fallthrough
case "option3":
fmt.Println("Option 3 selected")
default:
fmt.Println("Invalid option selected") //set default case
}
}
输出
The switch statement is executed like:
Option 2 selected
Option 3 selected
方法3:使用地图
在这种方法中,如果发现匹配,程序将运行相关函数;否则,将运行默认的案例块。这个程序将验证输入变量,并将其与地图中的键进行比较。
算法
- 第1步 – 创建一个包main,并在程序中声明fmt(format package)包,其中main产生可执行的例子,fmt帮助格式化输入和输出。
-
第2步 – 创建一个main函数,并在该函数中创建一个名为input_value的变量,并用字符串 “option2 “初始化它。
-
第 3步 – 建立一个名为options的地图,其中的值是匹配的Example: blocks,键是字符串的选择。
-
第 4步 – 为了确定输入变量是否被用作选项映射的键,使用if语句。
-
第 5步 – 调用保存为键值的函数,如果该键存在,则运行匹配的 Example: 块。
-
第6步– 如果键丢失,运行一个默认的案例块,打印出 “选择无效”。
例子
在这个程序中,我们将学习如何在地图的帮助下实现字符串的开关语句。
package main
import "fmt"
func main() {
input_value := "option2" //create input value
fmt.Println("The switch statement is executed like:")
options := map[string]func(){ //create a map
"option1": func() { fmt.Println("Option 1 selected") },
"option2": func() { fmt.Println("Option 2 selected") },
"option3": func() { fmt.Println("Option 3 selected") },
}
if fn, ok := options[input_value]; ok {
fn()
} else {
fmt.Println("Invalid option selected")
}
}
输出
The switch statement is executed like:
Option 2 selected
总结
我们用三个例子执行了在字符串上实现开关语句的程序。在第一个例子中,我们使用了简单的switch case,在第二个例子中我们使用了fallthrough关键字,在第三个例子中我们使用了map。