亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

go中switch語句的用法詳解

 更新時間:2023年09月05日 10:41:36   作者:小萬哥  
在Go中的switch語句類似于C、C++、Java、JavaScript和PHP中的switch語句,不同之處在于它只執(zhí)行匹配的case,因此不需要使用break語句,下面我們就一起來學習一下switch語句的具體使用吧

switch語句

使用switch語句來選擇要執(zhí)行的多個代碼塊中的一個。

在Go中的switch語句類似于C、C++、Java、JavaScript和PHP中的switch語句。不同之處在于它只執(zhí)行匹配的case,因此不需要使用break語句。

單一case的switch語法

switch 表達式 {
case x:
   // 代碼塊
case y:
   // 代碼塊
case z:
   // ...
default:
   // 代碼塊
}

它的工作方式如下:

  • 表達式被評估一次。
  • switch表達式的值與每個case的值進行比較。
  • 如果匹配,則執(zhí)行相關的代碼塊。
  • 默認關鍵字是可選的。它指定了如果沒有匹配的case時要運行的一些代碼。

單一case的switch示例

下面的示例使用星期幾的數字來計算星期幾的名稱:

package main
import (
   "fmt"
)
func main() {
   day := 4
   switch day {
   case 1:
      fmt.Println("星期一")
   case 2:
      fmt.Println("星期二")
   case 3:
      fmt.Println("星期三")
   case 4:
      fmt.Println("星期四")
   case 5:
      fmt.Println("星期五")
   case 6:
      fmt.Println("星期六")
   case 7:
      fmt.Println("星期日")
   }
}

結果:

星期四

default關鍵字

default關鍵字指定了在沒有匹配的case時要運行的一些代碼:

package main
import (
   "fmt"
)
func main() {
   day := 8
   switch day {
   case 1:
      fmt.Println("星期一")
   case 2:
      fmt.Println("星期二")
   case 3:
      fmt.Println("星期三")
   case 4:
      fmt.Println("星期四")
   case 5:
      fmt.Println("星期五")
   case 6:
      fmt.Println("星期六")
   case 7:
      fmt.Println("星期日")
   default:
      fmt.Println("不是工作日")
   }
}

結果:

不是工作日

所有case值應與switch表達式具有相同的類型。否則,編譯器將引發(fā)錯誤。

package main
import (
   "fmt"
)
func main() {
   a := 3
   switch a {
   case 1:
      fmt.Println("a是一")
   case "b":
      fmt.Println("a是b")
   }
}

結果:

./prog.go:11:2: 無法將類型為untyped string的"b"用作int類型

多個值的switch語句

在switch語句中,每個case可以有多個值:

語法

switch 表達式 {
case x, y:
   // 代碼塊(如果表達式的值是x或y)
case v, w:
   // 代碼塊(如果表達式的值是v或w)
case z:
   // ...
default:
   // 代碼塊(如果表達式在任何case中都沒有找到)
}

多個值的switch示例

下面的示例使用星期幾的數字返回不同的文本:

package main
import (
   "fmt"
)
func main() {
   day := 5
   switch day {
   case 1, 3, 5:
      fmt.Println("奇數工作日")
   case 2, 4:
      fmt.Println("偶數工作日")
   case 6, 7:
      fmt.Println("周末")
   default:
      fmt.Println("無效的日期編號")
   }
}

結果:

奇數工作日

到此這篇關于go中switch語句的用法詳解的文章就介紹到這了,更多相關go switch內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • 基于Go語言搭建靜態(tài)文件服務器的詳細教程

    基于Go語言搭建靜態(tài)文件服務器的詳細教程

    Go 是一個開源的編程語言,它能讓構造簡單、可靠且高效的軟件變得容易,本文給大家介紹了基于Go語言搭建靜態(tài)文件服務器的詳細教程,文中通過圖文和代碼講解的非常詳細,需要的朋友可以參考下
    2024-10-10
  • Go語言開發(fā)環(huán)境搭建與初探(Windows平臺下)

    Go語言開發(fā)環(huán)境搭建與初探(Windows平臺下)

    Go是Google開發(fā)的一種編譯型,並發(fā)型,并具有垃圾回收功能的編程語言,可能很多人想學習go語言,那么首先就要了解go語言的環(huán)境配置方法
    2014-10-10
  • Go語言中一些不常見的命令參數詳解

    Go語言中一些不常見的命令參數詳解

    這篇文章主要給大家介紹了關于Go語言中一些不常見的命令參數的相關資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧。
    2017-12-12
  • Golang中的select語句及其應用實例

    Golang中的select語句及其應用實例

    本文將介紹Golang中的select語句的使用方法和作用,并通過代碼示例展示其在并發(fā)編程中的實際應用,此外,還提供了一些與select相關的面試題,幫助讀者更好地理解和應用select語句
    2023-12-12
  • golang sql連接池的實現(xiàn)方法詳解

    golang sql連接池的實現(xiàn)方法詳解

    database/sql是golang的標準庫之一,它提供了一系列接口方法,用于訪問關系數據庫。下面這篇文章主要給大家介紹了關于golang sql連接池用法的相關資料,文中通過示例代碼介紹的非常詳細,需要的朋友可以參考借鑒,下面來一起看看吧
    2018-09-09
  • 詳解Go語言中自定義結構體能作為map的key嗎

    詳解Go語言中自定義結構體能作為map的key嗎

    在Go中,引用類型具有動態(tài)的特性,可能會被修改或指向新的數據,這就引發(fā)了一個問題—能否將包含引用類型的自定義結構體作為map的鍵呢,本文就來和大家想想講講
    2023-06-06
  • Go遍歷struct,map,slice的實現(xiàn)

    Go遍歷struct,map,slice的實現(xiàn)

    本文主要介紹了Go語言遍歷結構體、切片和字典的方法,對大家的學習具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2021-06-06
  • golang 實現(xiàn)tcp server端和client端,并計算RTT時間操作

    golang 實現(xiàn)tcp server端和client端,并計算RTT時間操作

    這篇文章主要介紹了golang 實現(xiàn)tcp server端和client端,并計算RTT時間操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-12-12
  • 在golang中使用cel的用法詳解

    在golang中使用cel的用法詳解

    CEL?是一種非圖靈完備的表達式語言?,旨在快速、可移植且執(zhí)行安全,CEL?可以單獨使用,也可以嵌入到其他的產品中,本文將給大家介紹一下golang中如何使用cel,需要的朋友可以參考下
    2023-11-11
  • golang并發(fā)編程中Goroutine 協(xié)程的實現(xiàn)

    golang并發(fā)編程中Goroutine 協(xié)程的實現(xiàn)

    Go語言中的協(xié)程是一種輕量級線程,通過在函數前加go關鍵字來并發(fā)執(zhí)行,具有動態(tài)棧、快速啟動和低內存使用等特點,本文就來詳細的介紹一下,感興趣的可以了解一下
    2024-10-10

最新評論