最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Go中的條件語句Switch示例詳解

 更新時間:2021年08月21日 13:38:41   作者:俊king  
Go的switch的基本功能和C、Java類似,switch 語句用于基于不同條件執(zhí)行不同動作,每一個 case 分支都是唯一的,從上至下逐一測試,直到匹配為止,對Go條件語句Switch相關知識感興趣的朋友一起看看吧

Switch簡介

Go的switch的基本功能和C、Java類似:

  • switch 語句用于基于不同條件執(zhí)行不同動作,每一個 case 分支都是唯一的,從上至下逐一測試,直到匹配為止。
  • 匹配項后面也不需要再加 break。

特點:

switch 默認情況下 case 最后自帶 break 語句,匹配成功后就不會執(zhí)行其他 case

重點介紹Go當中的Switch的兩個特別點:**

表達式判斷為true還需要執(zhí)行后面的 case,可以使用 fallthrough

type-switch 來判斷某個 interface 變量中實際存儲的變量類型

fallthrough

特點:

強制執(zhí)行后面的 case 語句,fallthrough 不會判斷下一條 case 的表達式結果是否為 true。

示例:

package main
​
import "fmt"
​
func main() {
    switch {
    case true:
        fmt.Println("1、case條件語句為false!")
        fallthrough
    case false:
        fmt.Println("2、case條件語句為true!")
    default:
        fmt.Println("默認的case")
    }
}

代碼分析:

  • 正常來說當執(zhí)行完第一條語句以后不會執(zhí)行第二個case,因為第二個casefalse而且已經(jīng)執(zhí)行完了第一個truecase
  • fallthrough關鍵字存在會強制執(zhí)行第二個case

Type Switch

特點:

  • 判斷某個 interface 變量中實際存儲的變量類型
  • 可以枚舉類型,值類型和引用類型都可以

語法格式:

switch x.(type){
    case type:
       statement(s);      
    case type:
       statement(s); 
    /* 你可以定義任意個數(shù)的case */
    default: /* 可選 */
       statement(s);
}

示例:

package main
​
import (
    "fmt"
    "go/types"
)
​
func main() {
    var inter interface{} = true
​
    //使用變量去代替接口當中的值并且判斷類型
    switch i := inter.(type) {
    case types.Nil:
        fmt.Println("x的類型是:", i)
    case int:
        fmt.Println("x是int類型")
    case float64:
        fmt.Println("x是float64類型")
    case func(int2 int):
        fmt.Println("x是func(int)類型")
    case bool, string:
        fmt.Println("x是bool或string類型")
    default:
        fmt.Println("未知類型")
    }

可以直接判斷接口當中的數(shù)據(jù)的數(shù)據(jù)類型

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

相關文章

  • GO語言包管理工具go?mod以及包詳解

    GO語言包管理工具go?mod以及包詳解

    go mod是go的一個模塊管理工具,用來代替?zhèn)鹘y(tǒng)的GOPATH方案,下面這篇文章主要給大家介紹了關于GO語言包管理工具go?mod以及包詳解的相關資料,文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下
    2022-07-07
  • GoPath模式和GoMoudle模式的相愛相殺

    GoPath模式和GoMoudle模式的相愛相殺

    這篇文章主要介紹了GoPath模式和GoMoudle模式的相愛相殺,本文通過實例圖文相結合給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-03-03
  • Go語言中的逃逸分析究竟是什么?

    Go語言中的逃逸分析究竟是什么?

    這篇文章主要介紹了Go語言中的逃逸,套喲究竟是什么呢?通俗來講,當一個對象的指針被多個方法或線程引用時,我們稱這個指針發(fā)生了“逃逸”。下面文章將詳細介紹Go語言中的逃逸,需要的朋友可以參考一下
    2021-09-09
  • Go遞歸修改文件名的實例代碼

    Go遞歸修改文件名的實例代碼

    這篇文章主要介紹了Go遞歸修改文件名的實例代碼,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的餓參考借鑒價值,需要的朋友可以參考下
    2021-01-01
  • golang之log rotate詳解

    golang之log rotate詳解

    下面小編就為大家?guī)硪黄猤olang之log rotate詳解。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-06-06
  • 一文詳細介紹golang中.()類型斷言的使用方法

    一文詳細介紹golang中.()類型斷言的使用方法

    Golang是一門非常流行的編程語言,在很多領域都有著廣泛的應用,在開發(fā)過程中,很多時候我們需要將函數(shù)作為參數(shù)傳遞給其他函數(shù),這時候就需要用到golang中的.()用法,本文將詳細介紹golang中.()的使用方法,需要的朋友可以參考下
    2023-08-08
  • go語言中的defer關鍵字

    go語言中的defer關鍵字

    這篇文章介紹了go語言中的defer關鍵字,文中通過示例代碼介紹的非常詳細。對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-07-07
  • Go語言實現(xiàn)釘釘發(fā)送通知

    Go語言實現(xiàn)釘釘發(fā)送通知

    本文通過代碼給大家介紹了Go語言實現(xiàn)釘釘發(fā)送通知,代碼簡單易懂,非常不錯,具有一定的參考借鑒價值,需要的朋友可以參考下
    2019-11-11
  • 自己動手用Golang實現(xiàn)約瑟夫環(huán)算法的示例

    自己動手用Golang實現(xiàn)約瑟夫環(huán)算法的示例

    這篇文章主要介紹了自己動手用Golang實現(xiàn)約瑟夫環(huán)算法的示例,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-12-12
  • Golang的鎖機制使用及說明

    Golang的鎖機制使用及說明

    這篇文章主要介紹了Golang的鎖機制使用及說明,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-02-02

最新評論

沙洋县| 汕尾市| 茂名市| 建始县| 大冶市| 手游| 双牌县| 冷水江市| 会东县| 怀集县| 建湖县| 余庆县| 淮北市| 油尖旺区| 蒲江县| 乐平市| 观塘区| 荆州市| 兴海县| 德清县| 徐汇区| 衡南县| 临颍县| 胶南市| 班玛县| 九寨沟县| 阳朔县| 临沂市| 尉氏县| 宁德市| 惠安县| 安图县| 平凉市| 色达县| 阿鲁科尔沁旗| 调兵山市| 平潭县| 武川县| 株洲县| 巧家县| 阜平县|