国产片侵犯亲女视频播放_亚洲精品二区_在线免费国产视频_欧美精品一区二区三区在线_少妇久久久_在线观看av不卡

腳本之家,腳本語言編程技術及教程分享平臺!
分類導航

Python|VBS|Ruby|Lua|perl|VBA|Golang|PowerShell|Erlang|autoit|Dos|bat|

服務器之家 - 腳本之家 - Golang - 深入剖析Go語言編程中switch語句的使用

深入剖析Go語言編程中switch語句的使用

2020-04-28 10:31腳本之家 Golang

這篇文章主要介紹了Go語言編程中switch語句的使用,是Go語言入門學習中的基礎知識,需要的朋友可以參考下

switch語句可以讓一個變量對反對值的列表平等進行測試。每個值被稱為一個的情況(case),變量被接通檢查每個開關盒(switch case)。

在Go編程,switch有兩種類型。

表達式Switch - 在表達式switch,case包含相比較,switch表達式的值。

類型Switch - 在這類型switch,此時含有進行比較特殊注明開關表達式的類型。

表達式Switch
在Go編程語言中表達switch語句的語法如下:

復制代碼 代碼如下:

switch(boolean-expression or integral type){
    case boolean-expression or integral type  :
       statement(s);     
    case boolean-expression or integral type  :
       statement(s);
    /* you can have any number of case statements */
    default : /* Optional */
       statement(s);
}


以下規則適用于switch語句:

 

在switch語句中使用的表達式必須具有整體或布爾表達式,或者是一個類型,其中所述類具有一個單一的轉換函數,以一個整體或布爾值。如果表達不通過,默認值是true。

可以有任意數量的case語句在switch內。每個case后跟值進行比較,以及一個冒號。

constant-expression 的情況,必須是相同的數據類型,在switch的變量,它必須是一個常量或文字。

當變量被接通等于case的值,以下case中將執行語句。在case語句中break不是必需。

switch語句可以有一個可選默認情況下,它必須出現在開關結束。缺省情況下,可用于執行任務時沒有的case為true。則case在默認情況下也不是必須的。

流程圖:

深入剖析Go語言編程中switch語句的使用

例子:

復制代碼 代碼如下:


package main

 

import "fmt"

func main() {
   /* local variable definition */
   var grade string = "B"
   var marks int = 90

   switch marks {
      case 90: grade = "A"
      case 80: grade = "B"
      case 50,60,70 : grade = "C"
      default: grade = "D" 
   }

   switch {
      case grade == "A" :
         fmt.Printf("Excellent!\n" )    
      case grade == "B", grade == "C" :
         fmt.Printf("Well done\n" )     
      case grade == "D" :
         fmt.Printf("You passed\n" )     
      case grade == "F":
         fmt.Printf("Better try again\n" )
      default:
         fmt.Printf("Invalid grade\n" );
   }
   fmt.Printf("Your grade is  %s\n", grade );     
}


當上述代碼被編譯和執行時,它產生了以下結果:

 

?
1
2
3
Well done
Excellent!
Your grade is A

類型Switch
在Go編程語言的一個類型switch語句的語法如下:

復制代碼 代碼如下:

switch x.(type){
    case type:
       statement(s);     
    case type:
       statement(s);
    /* you can have any number of case statements */
    default: /* Optional */
       statement(s);
}


以下規則適用于switch語句:

 

在switch語句中使用必須有接口的變量表達式{}輸入。

在switch內可以有任意數量case語句。每一種case后跟的值進行比較,以及一個冒號。

case的類型必須是相同的數據類型,在switch的變量,它必須是一個有效的數據類型。

當變量被接通等于某一case中的值,以下case語句將執行。在case語句塊的break不是必需的。

switch語句可以有一個可選默認case,它必須出現在switch的結束。缺省情況下,可用于執行任務時沒有匹配case時。default不是必需的。

例子:

復制代碼 代碼如下:


package main

 

import "fmt"

func main() {
   var x interface{}
    
   switch i := x.(type) {
      case nil:  
         fmt.Printf("type of x :%T",i)               
      case int:  
         fmt.Printf("x is int")                      
      case float64:
         fmt.Printf("x is float64")          
      case func(int) float64:
         fmt.Printf("x is func(int)")                     
      case bool, string:
         fmt.Printf("x is bool or string")      
      default:
         fmt.Printf("don't know the type")    
   }  
}


讓我們編譯和運行上面的程序,這將產生以下結果:

 

?
1
type of x :<nil>

 

延伸 · 閱讀

精彩推薦
  • Golanggo語言制作端口掃描器

    go語言制作端口掃描器

    本文給大家分享的是使用go語言編寫的TCP端口掃描器,可以選擇IP范圍,掃描的端口,以及多線程,有需要的小伙伴可以參考下。 ...

    腳本之家3642020-04-25
  • Golanggolang 通過ssh代理連接mysql的操作

    golang 通過ssh代理連接mysql的操作

    這篇文章主要介紹了golang 通過ssh代理連接mysql的操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧...

    a165861639710342021-03-08
  • Golanggolang如何使用struct的tag屬性的詳細介紹

    golang如何使用struct的tag屬性的詳細介紹

    這篇文章主要介紹了golang如何使用struct的tag屬性的詳細介紹,從例子說起,小編覺得挺不錯的,現在分享給大家,也給大家做個參考。一起跟隨小編過來看...

    Go語言中文網11352020-05-21
  • Golanggolang的httpserver優雅重啟方法詳解

    golang的httpserver優雅重啟方法詳解

    這篇文章主要給大家介紹了關于golang的httpserver優雅重啟的相關資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,...

    helight2992020-05-14
  • GolangGolang中Bit數組的實現方式

    Golang中Bit數組的實現方式

    這篇文章主要介紹了Golang中Bit數組的實現方式,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧...

    天易獨尊11682021-06-09
  • Golanggo日志系統logrus顯示文件和行號的操作

    go日志系統logrus顯示文件和行號的操作

    這篇文章主要介紹了go日志系統logrus顯示文件和行號的操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧...

    SmallQinYan12302021-02-02
  • GolangGolang通脈之數據類型詳情

    Golang通脈之數據類型詳情

    這篇文章主要介紹了Golang通脈之數據類型,在編程語言中標識符就是定義的具有某種意義的詞,比如變量名、常量名、函數名等等,Go語言中標識符允許由...

    4272021-11-24
  • Golanggolang json.Marshal 特殊html字符被轉義的解決方法

    golang json.Marshal 特殊html字符被轉義的解決方法

    今天小編就為大家分享一篇golang json.Marshal 特殊html字符被轉義的解決方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧 ...

    李浩的life12792020-05-27
Weibo Article 1 Weibo Article 2 Weibo Article 3 Weibo Article 4 Weibo Article 5 Weibo Article 6 Weibo Article 7 Weibo Article 8 Weibo Article 9 Weibo Article 10 Weibo Article 11 Weibo Article 12 Weibo Article 13 Weibo Article 14 Weibo Article 15 Weibo Article 16 Weibo Article 17 Weibo Article 18 Weibo Article 19 Weibo Article 20 Weibo Article 21 Weibo Article 22 Weibo Article 23 Weibo Article 24 Weibo Article 25 Weibo Article 26 Weibo Article 27 Weibo Article 28 Weibo Article 29 Weibo Article 30 Weibo Article 31 Weibo Article 32 Weibo Article 33 Weibo Article 34 Weibo Article 35 Weibo Article 36 Weibo Article 37 Weibo Article 38 Weibo Article 39 Weibo Article 40
主站蜘蛛池模板: 寡妇高潮免费视频一区二区三区 | 精品国产污网站污在线观看15 | 久草在线| 国产精品成人在线 | 在线播放中文字幕 | 狠狠se| 成人免费网站 | 大香伊蕉在人线视频777 | 99精品欧美一区二区三区综合在线 | 亚洲男人的天堂网站 | 国产一区二区精品久久岳 | 一区二区中文 | 播放欧美一级片 | 九九综合九九 | 国产精品久久久久久久久久小说 | 亚洲国产高清在线 | 亚洲一区二区三区 | 伊人伊成久久人综合网站 | 亚洲欧洲成人 | 日本不卡高字幕在线2019 | 黄色毛片在线看 | 亚洲国产成人av好男人在线观看 | 亚洲国产成人在线 | 免费网站在线观看黄 | 午夜视频在线 | 国产亲子乱弄免费视频 | 成人黄大片视频在线观看 | 亚洲一级片av| 免费在线观看av片 | 国产一区中文字幕 | 天天爽夜夜爽夜夜爽精品视频 | 色综合88| 欧美午夜精品 | 欧美激情一区二区三级高清视频 | 亚洲 欧美 日韩在线 | 精品久久久久久国产 | 国产高清视频一区 | 日本在线免费视频 | 99国产精品| 亚洲激情在线播放 | 日韩成人在线播放 |