Go语言程序实现字符串的switch语句
Go语言中的switch语句是一种控制流语句,它允许你根据不同的情况运行不同的代码块。类似于if-else语句,它可以更快地测试多个条件。在这篇文章中,我们将学习如何在Go语言中实现字符串的switch语句。
方法一:使用default作为默认选项
在这个方法中,如果检测到匹配,程序将验证输入变量,将其与各个case进行比较,并执行相关的代码块;否则,它将运行default代码块。让我们通过示例和算法来了解它的执行过程。
算法
步骤1 − 创建一个名为main的包,并在程序中声明fmt(格式化包),其中main生成可执行示例,fmt帮助格式化输入和输出。
步骤2 − 创建一个main函数,并在该函数中创建一个名为input_value的变量,并将其初始化为字符串“option2”。
步骤3 − 在switch关键字后使用变量input_value。
步骤4 − 使用case关键字后跟字符串值来指定switch语句的可能性。
步骤5 − 如果变量input_value与提供的case选项匹配,则编写应运行的代码。
步骤6 − 使用default case作为默认选项来处理任何与case选项不匹配的输入。
步骤7 − 使用fmt.Println()函数(其中ln表示换行)打印选择的选项。
示例
在这个程序中,我们将学习如何使用default 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
方法二:使用fallthrough关键字
在这个方法中,fallthrough关键字用于将执行转发到下一个case块。在这个例子中,如果输入是“option2”,程序将运行“option2”已选择和“option3”已选择的代码块。
算法
步骤1 − 创建一个名为main的包,并在程序中声明fmt(格式化包),其中main生成可执行示例,fmt帮助格式化输入和输出。
步骤2 − 根据上面的程序,重复步骤4,并在option1、2和3中添加fallthrough。
步骤3 − 使用default case作为“无效选项已选择”。
步骤4 − 通过fallthrough,下一个代码块的执行将继续。
步骤5 − 使用fmt.Println()函数(其中ln表示换行)将输出打印到控制台。
示例
在这个例子中,我们将看到如何使用fallthrough关键字来执行字符串的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
方法三:使用map
在这个方法中,如果找到匹配项,程序将运行关联的函数;否则,将运行default代码块。此程序将验证输入变量并将其与map中的键进行比较。
算法
步骤1 − 创建一个名为main的包,并在程序中声明fmt(格式化包),其中main生成可执行示例,fmt帮助格式化输入和输出。
步骤2 − 创建一个main函数,并在该函数中创建一个名为input_value的变量,并将其初始化为字符串“option2”。
步骤3 − 创建一个名为options的map,其中值是匹配的代码块,键是字符串选项。
步骤4 − 使用if语句来确定输入变量是否用作options map中的键。
步骤5 − 如果存在键,则调用保存为键值的函数来运行匹配的代码块。
步骤6 − 如果键不存在,则运行一个打印“无效选项已选择”的default代码块。
示例
在这个程序中,我们将学习如何使用map来实现字符串的switch语句。
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语句的程序。在第一个示例中,我们使用了简单的switch case;在第二个示例中,我们使用了fallthrough关键字;在第三个示例中,我们使用了map。
数据结构
网络
关系数据库管理系统(RDBMS)
操作系统
Java
iOS
HTML
CSS
Android
Python
C语言编程
C++
C#
MongoDB
MySQL
Javascript
PHP