婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > golang switch語句的靈活寫法介紹

golang switch語句的靈活寫法介紹

熱門標簽:阿克蘇地圖標注 excel地圖標注分布數據 百度地圖標注后傳給手機 外呼系統用什么卡 涿州代理外呼系統 壽光微信地圖標注 電話機器人軟件免費 評價高的400電話辦理 外呼系統顯本地手機號

switch是很容易理解的,先來個代碼,運行起來

看看你的操作系統是什么吧

package main 
import (
    "fmt"
    "runtime"
)
 
func main() {
    fmt.Print("Go runs on ")
    switch os := runtime.GOOS; os {
    case "darwin":
        fmt.Println("OS X.")
    case "linux":
        fmt.Println("Linux.")
    default:
        fmt.Printf("%s", os)
    }
}

runtine運行時獲取當前的操作系統,使用GOOS。還和if for之類的習慣一樣,可以在前面聲明賦值變量。我們就在這里來獲取操作系統的信息了。

os := runtime.GOOS;

{}里的case比較容易理解。操作系統是 "darwin" 就打印"OS X.";操作系統是 "linux" 就打印"Linux";其他的都直接打印系統類別。

在go語言的switch中除非以fallthrough語句結束,否則分支會自動終止。

所以修改一下上面的代碼,再運行一下:

package main 
import (
    "fmt"
    "runtime"
)
 
func main() {
    fmt.Print("Go runs on ")
    switch os := runtime.GOOS; os {
    case "darwin":
        fmt.Println("OS X.")
    case "linux":
        fmt.Println("Linux.")
    case "windows":
        fmt.Println("win")
        fallthrough
    default:
        fmt.Printf("%s", os)
    }
}

增加了當前的系統的case選項"windows",還在這個分支使用了fallghrough。

如果你再注釋掉 fallthrough,或干脆刪除 fallthrough,再運行,就會發現,那個穿透的效果沒有了。

總結

switch 的條件從上到下的執行,當匹配成功的時候停止。如果匹配成功的這個分支是以fallthrough結束的,那么下一個緊鄰的分支也會被執行。

switch的沒有條件的用法。這其實相當于switch true一樣。每一個case選項都是bool表達式,值為true的分支就會被執行,或者執行default。

package main 
import (
    "fmt"
    "time"
)
 
func main() {
    t := time.Now()
    switch  {
    case t.Hour() > 12:
        fmt.Println("Morning was passed.")
    case t.Hour() > 17:
        fmt.Println("Afternoon was passed.")
    default:
        fmt.Println("Now too early.")
 
    }
}

補充:記Golang switch的一個“坑”

switch分支語句在各個編程語言中都很常用,能夠根據條件選中一個或多個case語句進行執行,習慣于C、C++語言編程的都知道,在C、C++中switch分支判斷條件會依次遍歷每個case,當遇到符合條件的case時,便會執行該case中的語句,直到遇到case中顯示的break語句才會終止switch流程,如果一個case中沒有顯示的break此case,程序便會執行下一個case(如果存在的話)。

對于從C、C++剛轉到Go語言的程序員來說,這里面便存在一個“坑”,本人在開發過程中也踩過這個“坑”,那便是Go語言在switch分支語句的每個case中會自動加上一個break語句,也就是說在Go語言中程序進入了一個case流程,不管程序中有沒有顯示的break此case,程序都不會繼續執行其他的case流程,而是直接退出整個switch流程,這里做一個簡單的實驗。

顯示的在每個case中添加上break語句:

package main
import "fmt"
func main() {
    var num = 10
    switch num {
    case 5:
        fmt.Println("num is 5")
        break
    case 10:
        fmt.Println("num is 10")
        break
    case 15:
        fmt.Println("num is 15")
        break
    default:
        fmt.Println("num is default branch")
    }
    return
}

程序的運行結果如下:

num is 10

下面去掉每個case中顯示的break語句,看看結果是什么呢。

package main
import "fmt"
func main() {
    var num = 10
    switch num {
    case 5:
        fmt.Println("num is 5")
    case 10:
        fmt.Println("num is 10")
    case 15:
        fmt.Println("num is 15")
    default:
        fmt.Println("num is default branch")
    }
    return
}

程序的運行結果如下:

num is 10

很明顯,在每個case語句中是否顯示的添加break語句都只會執行其中的一個分支流程,這對于想要通過break來控制每次執行case數量的程序員來說確實是一個不大不小的“坑”。

以上為個人經驗,希望能給大家一個參考,也希望大家多多支持腳本之家。如有錯誤或未考慮完全的地方,望不吝賜教。

您可能感興趣的文章:
  • Python基礎之python循環控制語句break/continue詳解
  • C語言之初始if語句詳解
  • C語言入門篇--學習選擇,if,switch語句以及代碼塊
  • 如何用c++表驅動替換if/else和switch/case語句
  • 論一條select語句在MySQL是怎樣執行的
  • C語言中常見的幾種流程控制語句
  • 一篇文章帶你了解JavaScript-語句
  • Python實現switch/case語句
  • C語言進階教程之循環語句缺陷詳析
  • C語言控制語句之 循環
  • mybatis中sql語句CDATA標簽的用法說明
  • JavaScript中三種for循環語句的使用總結(for、for...in、for...of)
  • C 語言基礎之C 語言三大語句注意事項

標簽:梅河口 吐魯番 汕頭 欽州 雞西 重慶 銅川 蘭州

巨人網絡通訊聲明:本文標題《golang switch語句的靈活寫法介紹》,本文關鍵詞  golang,switch,語句,的,靈活,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《golang switch語句的靈活寫法介紹》相關的同類信息!
  • 本頁收集關于golang switch語句的靈活寫法介紹的相關信息資訊供網民參考!
  • 推薦文章
    婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av
    一区二区三区四区五区视频在线观看 | 成人激情开心网| 国产日韩av一区| 精品一区二区免费看| 日韩高清一区在线| 在线观看一区日韩| 精品国产123| 综合久久久久综合| 免费在线欧美视频| 91丨九色丨黑人外教| 亚洲综合清纯丝袜自拍| 91成人免费网站| 久久国产精品99精品国产 | 国产成人精品影院| 日日欢夜夜爽一区| 亚洲精品欧美二区三区中文字幕| 成人午夜在线视频| 韩国欧美国产1区| 美国毛片一区二区三区| 成av人片一区二区| 精品亚洲porn| 麻豆精品一区二区三区| 一区二区三区中文字幕在线观看| 国产欧美日韩激情| 国产欧美日本一区视频| 久久午夜老司机| 日韩欧美国产成人一区二区| 欧美日韩亚洲国产综合| 91黄色激情网站| 日本久久电影网| 在线观看国产日韩| 一本色道久久加勒比精品| 在线观看一区二区精品视频| 在线视频欧美区| 欧美影院午夜播放| 欧美亚一区二区| 欧美日韩中文另类| 色综合久久久久久久久久久| 成人免费视频播放| 91在线一区二区| 欧美中文字幕一二三区视频| 欧美日韩一区在线| 日韩一区二区三区高清免费看看| 欧美白人最猛性xxxxx69交| 久久免费电影网| 国产精品久久久久精k8| 亚洲欧美日韩在线播放| 国产精品久久三| 一区二区三区产品免费精品久久75| 亚洲一区二区视频| 日本女优在线视频一区二区| 国产高清精品在线| av一区二区三区四区| 在线视频亚洲一区| 精品久久久久香蕉网| 综合久久国产九一剧情麻豆| 亚洲国产中文字幕| 毛片av一区二区| 粉嫩av一区二区三区在线播放| 色综合久久综合中文综合网| 色av一区二区| 日韩精品中文字幕在线一区| 国产日韩欧美麻豆| 亚洲成av人片观看| 国产经典欧美精品| 欧美日韩一区二区三区四区五区| 欧美美女网站色| 久久一区二区视频| 亚洲国产日韩av| 精品写真视频在线观看| 91理论电影在线观看| 欧美日韩一区二区三区高清| 久久综合九色综合欧美就去吻| 国产精品区一区二区三区| 天天爽夜夜爽夜夜爽精品视频| 国产黄色成人av| 日韩亚洲欧美高清| 国产精品每日更新在线播放网址| 日韩影院在线观看| 91玉足脚交白嫩脚丫在线播放| 欧美精品123区| 欧美午夜一区二区三区免费大片| 精品国产亚洲在线| 一区二区三区产品免费精品久久75| 毛片av一区二区三区| 欧美日韩色综合| 日韩理论在线观看| 国产一区二区三区电影在线观看| 欧美日韩大陆一区二区| 亚洲一区二区三区激情| 成人av网站在线| 午夜av一区二区三区| 色av成人天堂桃色av| 中文文精品字幕一区二区| 老司机一区二区| 欧美一区二区三区思思人| 久久91精品国产91久久小草| 欧美日韩在线三区| 亚洲第一激情av| 欧美日韩一本到| 欧美日韩国产经典色站一区二区三区| 国产精品国模大尺度视频| 国产精品一区2区| 精品999久久久| 久久99蜜桃精品| 欧美va亚洲va香蕉在线| 麻豆专区一区二区三区四区五区| 欧美麻豆精品久久久久久| 亚洲成人自拍偷拍| 欧美日韩你懂的| 午夜伊人狠狠久久| 91精品国模一区二区三区| 爽好久久久欧美精品| 91精品国产色综合久久不卡蜜臀 | 日本aⅴ免费视频一区二区三区| 欧美日韩亚州综合| 香蕉加勒比综合久久| 欧美一区欧美二区| 国内精品伊人久久久久av一坑 | ...av二区三区久久精品| 不卡欧美aaaaa| 成人欧美一区二区三区在线播放| 国产suv精品一区二区三区| 国产婷婷色一区二区三区| 国产一区二区三区综合| 欧美国产日产图区| 国产美女精品人人做人人爽| 国产免费成人在线视频| 99re这里只有精品视频首页| 国产精品国产馆在线真实露脸 | 精品免费一区二区三区| 极品少妇一区二区| 国产精品美女一区二区| 在线精品视频小说1| 日韩av电影免费观看高清完整版 | 粉嫩在线一区二区三区视频| 亚洲精品成人精品456| 欧美二区三区91| 国产福利一区在线| 亚洲最新视频在线观看| 欧美一区二区三区啪啪| 极品少妇xxxx精品少妇| 国产精品第四页| 欧美精品日日鲁夜夜添| 国产精品一区二区果冻传媒| 亚洲夂夂婷婷色拍ww47| 精品国产免费视频| 国产成人精品亚洲午夜麻豆| 亚洲午夜日本在线观看| 久久精品网站免费观看| 色综合天天天天做夜夜夜夜做| 免费在线观看成人| 亚洲精选一二三| 欧美国产激情一区二区三区蜜月| 欧美人伦禁忌dvd放荡欲情| 成人av资源网站| 麻豆国产欧美日韩综合精品二区| 亚洲女厕所小便bbb| 久久久欧美精品sm网站| 欧美日韩精品一区视频| 99久久免费国产| 蜜臀精品久久久久久蜜臀| 亚洲女同ⅹxx女同tv| 久久九九国产精品| 欧美综合欧美视频| 欧美亚洲一区二区在线观看| 国产精品久久免费看| 2024国产精品| 日韩欧美高清一区| 在线看国产一区| 欧美网站大全在线观看| 色94色欧美sute亚洲线路二| 国产一区二区三区黄视频| 男人操女人的视频在线观看欧美| 一区二区三区欧美久久| 国产精品国产精品国产专区不蜜 | 91小视频在线| 精品在线播放午夜| 日韩国产高清在线| 视频一区二区国产| 日韩高清在线一区| 午夜精品国产更新| 亚洲一区二区精品久久av| 亚洲欧美色一区| 亚洲精品免费视频| 五月婷婷综合网| 麻豆精品国产传媒mv男同 | 精品一区二区免费| 黑人巨大精品欧美黑白配亚洲| 亚洲一区二区在线观看视频 | 日日摸夜夜添夜夜添精品视频| 亚洲一区二区在线免费观看视频| 亚洲一区二三区| 蜜臀av在线播放一区二区三区| 久久精品国产99| 国内精品伊人久久久久av一坑| 国产成人av一区二区三区在线| 日韩高清不卡一区二区三区| 亚洲精品免费在线观看| 亚洲日本免费电影|