欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Go語(yǔ)言基礎(chǔ)switch條件語(yǔ)句基本用法及示例詳解

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

在這里插入圖片描述

概述

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

語(yǔ)法

第一種【switch 帶上表達(dá)式】

switch 表達(dá)式 {
  case 表達(dá)式1,表達(dá)式2, ... :
     語(yǔ)句塊1
  case 表達(dá)式3, 表達(dá)式4, ... :
     語(yǔ)名塊2
  default:
     語(yǔ)句塊
}

第二種【switch 不帶表達(dá)式】

switch {
  case 表達(dá)式1,表達(dá)式2, ... :
     語(yǔ)句塊1
  case 表達(dá)式3, 表達(dá)式4, ... :
     語(yǔ)名塊2
  default:
     語(yǔ)句塊
}

第三種【switch 初始化,表達(dá)式】

switch 初始化;表達(dá)式{
  case 表達(dá)式1,表達(dá)式2, ... :
     語(yǔ)句塊1
  case 表達(dá)式3, 表達(dá)式4, ... :
     語(yǔ)名塊2
  default:
     語(yǔ)句塊
}

注意

  1. 各個(gè)case默認(rèn)break
  2. 不break加 fallthrough
  3. panic 報(bào)錯(cuò)
  4. switch后可以沒(méi)有表達(dá)式
  5. switch支持初始化語(yǔ)句,注意要用分號(hào)結(jié)束
  6. case后面的值是唯一的

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

func printWeekday() {
	day := time.Now().Weekday()   //需要導(dǎo)入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("星期天")
	}

}

示例二【根據(jù)分?jǐn)?shù)打印A,B,C,D】

func printScores() {
	fmt.Println()
	fmt.Println("根據(jù)分?jǐn)?shù)打印A,B,C,D")
	scores := 0
	fmt.Println("請(qǐng)輸入分?jǐn)?shù)")
	fmt.Scanf("%d", &scores)
	fmt.Printf("分?jǐn)?shù)等級(jí):")
	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("你有分?jǐn)?shù)嗎")
	}
}

示例三【算數(shù)】

func printEval() {
	fmt.Println()
	fmt.Println("三、算數(shù)")
	var num1, num2 int
	fmt.Println("請(qǐng)輸入第一個(gè)數(shù):")
	fmt.Scan(&num1)
	fmt.Println("請(qǐng)輸入第二個(gè)數(shù):")
	fmt.Scan(&num2)
	var op string
	fmt.Println("請(qǐng)輸入符號(hào)[+ - * /] ")
	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語(yǔ)言基礎(chǔ)switch條件語(yǔ)句基本用法及示例詳解的詳細(xì)內(nèi)容,更多關(guān)于Go語(yǔ)言條件語(yǔ)句的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • Golang的繼承模擬實(shí)例

    Golang的繼承模擬實(shí)例

    這篇文章主要介紹了Go語(yǔ)言使用組合的方式實(shí)現(xiàn)多繼承的方法,實(shí)例分析了多繼承的原理與使用組合方式來(lái)實(shí)現(xiàn)多繼承的技巧,需要的朋友可以參考下,希望可以幫助到你
    2021-06-06
  • Golang 并發(fā)以及通道的使用方式

    Golang 并發(fā)以及通道的使用方式

    這篇文章主要介紹了Golang 并發(fā)以及通道的使用方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2021-03-03
  • golang調(diào)試bug及性能監(jiān)控方式實(shí)踐總結(jié)

    golang調(diào)試bug及性能監(jiān)控方式實(shí)踐總結(jié)

    這篇文章主要為大家介紹了golang調(diào)試bug及性能監(jiān)控方式實(shí)踐是總結(jié),有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-05-05
  • Go語(yǔ)言切片??嫉拿嬖囌骖}解析

    Go語(yǔ)言切片??嫉拿嬖囌骖}解析

    了解最新的Go語(yǔ)言面試題型,讓面試不再是難事,下面這篇文章主要給大家介紹了關(guān)于Go語(yǔ)言切片面試??嫉囊恍﹩?wèn)題,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2022-02-02
  • 基于Go語(yǔ)言實(shí)現(xiàn)冒泡排序算法

    基于Go語(yǔ)言實(shí)現(xiàn)冒泡排序算法

    冒泡排序是交換排序中最簡(jiǎn)單的一種算法。這篇文章將利用Go語(yǔ)言實(shí)現(xiàn)冒泡排序算法,文中的示例代碼講解詳細(xì),對(duì)學(xué)習(xí)Go語(yǔ)言有一定的幫助,需要的可以參考一下
    2022-12-12
  • Golang語(yǔ)言如何避免空指針引發(fā)的panic詳解

    Golang語(yǔ)言如何避免空指針引發(fā)的panic詳解

    簡(jiǎn)單地說(shuō)go語(yǔ)言的指針類型和C/C++的指針類型用法是一樣的,除了出去安全性的考慮,go語(yǔ)言增加了一些限制,這篇文章主要給大家介紹了關(guān)于Golang語(yǔ)言如何避免空指針引發(fā)panic的相關(guān)資料,需要的朋友可以參考下
    2022-01-01
  • GoLang中的互斥鎖Mutex和讀寫(xiě)鎖RWMutex使用教程

    GoLang中的互斥鎖Mutex和讀寫(xiě)鎖RWMutex使用教程

    RWMutex是一個(gè)讀/寫(xiě)互斥鎖,在某一時(shí)刻只能由任意數(shù)量的reader持有或者一個(gè)writer持有。也就是說(shuō),要么放行任意數(shù)量的reader,多個(gè)reader可以并行讀;要么放行一個(gè)writer,多個(gè)writer需要串行寫(xiě)
    2023-01-01
  • 一文帶你深入了解Golang中的自旋鎖

    一文帶你深入了解Golang中的自旋鎖

    自旋鎖是一種忙等待鎖,當(dāng)一個(gè)線程嘗試獲取一個(gè)已經(jīng)被其它線程持有的鎖時(shí),這個(gè)線程會(huì)持續(xù)循環(huán)檢查鎖的狀態(tài)(即“自旋”)?,直到鎖被釋放后獲得所有權(quán),下面我們就來(lái)深入了解下自旋鎖的具體操作吧
    2024-01-01
  • 在Go中實(shí)現(xiàn)和使用堆棧以及先進(jìn)先出原則詳解

    在Go中實(shí)現(xiàn)和使用堆棧以及先進(jìn)先出原則詳解

    Go是一種功能強(qiáng)大的編程語(yǔ)言,提供了豐富的數(shù)據(jù)結(jié)構(gòu)和算法,堆棧是計(jì)算機(jī)科學(xué)中的基本數(shù)據(jù)結(jié)構(gòu)之一,在本博文中,我們將探討如何在?Go?中實(shí)現(xiàn)和使用堆棧,以及堆棧如何遵循先進(jìn)先出?(FIFO)?原則
    2023-10-10
  • Go1.18新特性對(duì)泛型支持詳解

    Go1.18新特性對(duì)泛型支持詳解

    這篇文章主要為大家介紹了Go1.18新特性對(duì)泛型支持詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-06-06

最新評(píng)論