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