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

Go語言基礎switch條件語句基本用法及示例詳解

 更新時間:2021年11月17日 14:40:37   作者:楓少文  
這篇文章主要為大家介紹了Go語言基礎switch條件語句基本用法及示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步

在這里插入圖片描述

概述

  • 傳入條件的不同,會執(zhí)行不同的語句
  • 每一個case分支都是唯一的,從上到下逐一測試,直到匹配為止。

語法

第一種【switch 帶上表達式】

switch 表達式 {
  case 表達式1,表達式2, ... :
     語句塊1
  case 表達式3, 表達式4, ... :
     語名塊2
  default:
     語句塊
}

第二種【switch 不帶表達式】

switch {
  case 表達式1,表達式2, ... :
     語句塊1
  case 表達式3, 表達式4, ... :
     語名塊2
  default:
     語句塊
}

第三種【switch 初始化,表達式】

switch 初始化;表達式{
  case 表達式1,表達式2, ... :
     語句塊1
  case 表達式3, 表達式4, ... :
     語名塊2
  default:
     語句塊
}

注意

  1. 各個case默認break
  2. 不break加 fallthrough
  3. panic 報錯
  4. switch后可以沒有表達式
  5. switch支持初始化語句,注意要用分號結束
  6. case后面的值是唯一的

示例一【根據今天的日期打印今天星期幾】

func printWeekday() {
	day := time.Now().Weekday()   //需要導入time
	fmt.Printf("%s", "今天")
	switch int(day) {
	case 1:
		fmt.Println("星期一")
	case 2:
		fmt.Println("星期二")
	case 3:
		fmt.Println("星期三")
	case 4:
		fmt.Println("星期四")
	case 5:
		fmt.Println("星期五")
	case 6, 7:
		fmt.Println("星期天")
	}

}

示例二【根據分數打印A,B,C,D】

func printScores() {
	fmt.Println()
	fmt.Println("根據分數打印A,B,C,D")
	scores := 0
	fmt.Println("請輸入分數")
	fmt.Scanf("%d", &scores)
	fmt.Printf("分數等級:")
	switch {
	case scores > 90:
		fmt.Println("A")
	case scores > 80, scores > 70:
		fmt.Println("B")
	case scores > 60:
		fmt.Println("c")
	case scores >= 10:
		fmt.Println("D")
	default:
		fmt.Println("你有分數嗎")
	}
}

示例三【算數】

func printEval() {
	fmt.Println()
	fmt.Println("三、算數")
	var num1, num2 int
	fmt.Println("請輸入第一個數:")
	fmt.Scan(&num1)
	fmt.Println("請輸入第二個數:")
	fmt.Scan(&num2)
	var op string
	fmt.Println("請輸入符號[+ - * /] ")
	fmt.Scan(&op)
	fmt.Printf("%d%s%d=%d", num1,op, num2, eval(num1, num2, op))
}
func eval(a, b int, op string) int {
	var result int
	switch op {
	case "+":
		result = a + b
	case "-":
		result = a - b
	case "*":
		result = a * b
	case "/":
		result = a / b
	default:
		panic("unsupported operator:" + op)
	}
	return result
}

以上就是Go語言基礎switch條件語句基本用法及示例詳解的詳細內容,更多關于Go語言條件語句的資料請關注腳本之家其它相關文章!

相關文章

  • go語言的sql包原理與用法分析

    go語言的sql包原理與用法分析

    這篇文章主要介紹了go語言的sql包原理與用法,較為詳細的分析了Go語言里sql包的結構、相關函數與使用方法,需要的朋友可以參考下
    2016-07-07
  • Go語言判斷指定文件是否存在的方法

    Go語言判斷指定文件是否存在的方法

    這篇文章主要介紹了Go語言判斷指定文件是否存在的方法,實例分析了Go語言針對文件操作的技巧,具有一定參考借鑒價值,需要的朋友可以參考下
    2015-02-02
  • 一文總結Go語言切片核心知識點和坑

    一文總結Go語言切片核心知識點和坑

    都說Go的切片用起來絲滑得很,Java中的List怎么用,切片就怎么用,作為曾經的Java選手,因為切片的使用不得當,喜提缺陷若干,本文就給大家總結一下Go語言切片核心知識點和坑,需要的朋友可以參考下
    2023-06-06
  • Golang使用切片實現單鏈表的示例代碼

    Golang使用切片實現單鏈表的示例代碼

    單鏈表(Single?Linked?List)是鏈表數據結構的一種實現方式,它包含一系列節(jié)點(Node),每個節(jié)點都包含一個數據域和一個指向下一個節(jié)點的指針,本文給大家介紹了Golang使用切片實現單鏈表的操作,需要的朋友可以參考下
    2024-05-05
  • Go的固定時長定時器和周期性時長定時器

    Go的固定時長定時器和周期性時長定時器

    本文主要介紹了Go的固定時長定時器和周期性時長定時器,文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-08-08
  • Go語言中int、float、string類型之間相互的轉換

    Go語言中int、float、string類型之間相互的轉換

    golang是強類型語言,在應用過程中類型轉換基本都會用到,下面這篇文章主要給大家介紹了關于Go語言中int、float、string類型相互之間的轉換,需要的朋友可以參考下
    2022-01-01
  • 一個Pod調度失敗后重新觸發(fā)調度的所有情況分析

    一個Pod調度失敗后重新觸發(fā)調度的所有情況分析

    這篇文章主要為大家介紹了一個Pod調度失敗后重新觸發(fā)調度的所有情況分析詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-04-04
  • go語言中使用timer的常用方式

    go語言中使用timer的常用方式

    這篇文章主要介紹了go語言中使用timer的常用方式,實例分析了三種常用的使用timer的方法,具有一定參考借鑒價值,需要的朋友可以參考下
    2015-03-03
  • Golang調用FFmpeg轉換視頻流的實現

    Golang調用FFmpeg轉換視頻流的實現

    本文主要介紹了Golang調用FFmpeg轉換視頻流,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2023-02-02
  • Golang基于sync.Once實現單例的操作代碼

    Golang基于sync.Once實現單例的操作代碼

    這篇文章主要介紹了golang實現單例的操作代碼,本文介紹基于sync.Once的方式來實現單例,熟練掌握這種模式,并理解其底層原理,對大部分人來講已經完全夠用了,需要的朋友可以參考下
    2022-10-10

最新評論

盱眙县| 县级市| 保山市| 信宜市| 五家渠市| 承德市| 搜索| 浦东新区| 永丰县| 抚远县| 澳门| 兰西县| 铁岭市| 平凉市| 阳原县| 梁河县| 岑巩县| 中山市| 阜城县| 綦江县| 连州市| 南开区| 仁怀市| 铜梁县| 齐齐哈尔市| 诏安县| 凤台县| 饶阳县| 新乡县| 和田市| 闵行区| 中山市| 海晏县| 西华县| 卓尼县| 尤溪县| 若尔盖县| 洮南市| 潮州市| 丽江市| 石狮市|