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。

更新于:2023年2月20日

524 次浏览

启动你的职业生涯

通过完成课程获得认证

开始学习
广告
© . All rights reserved.