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

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后面的值是唯一的

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

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("星期天")
	}

}

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

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

示例三【算數(shù)】

func printEval() {
	fmt.Println()
	fmt.Println("三、算數(shù)")
	var num1, num2 int
	fmt.Println("請輸入第一個數(shù):")
	fmt.Scan(&num1)
	fmt.Println("請輸入第二個數(shù):")
	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條件語句基本用法及示例詳解的詳細內(nèi)容,更多關于Go語言條件語句的資料請關注腳本之家其它相關文章!

相關文章

  • Golang的繼承模擬實例

    Golang的繼承模擬實例

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

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

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

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

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

    Go語言切片常考的面試真題解析

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

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

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

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

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

    GoLang中的互斥鎖Mutex和讀寫鎖RWMutex使用教程

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

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

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

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

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

    Go1.18新特性對泛型支持詳解

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

最新評論