คำสั่ง Switch ใน Go

Golang เช่นเดียวกับภาษาการเขียนโปรแกรมอื่นๆ ส่วนใหญ่มี คำ สั่งสวิตช์คำสั่ง switch ในGolang  ช่วยให้คุณสามารถประเมินตัวแปรหรือนิพจน์ได้หลายกรณี และมักใช้เมื่อเขียนคำสั่ง if-else หลายคำสั่งซึ่งทำให้โค้ดดูไม่สวยงามและซ้ำซาก

คำสั่ง Switch ใน Go

ใน Go คำสั่งสวิตช์เป็นคำสั่งการแยกสาขาหลายทิศทางที่มีประสิทธิภาพในการกำหนดทิศทางการดำเนินการตามค่า (หรือประเภท) ของนิพจน์ มีคำสั่งสวิตช์สองประเภทหลักใน Go :

  • สวิตช์การแสดงออก
  • ประเภทสวิตช์

ตัวอย่างเช่น:

package main
import "fmt"

func main() {
    day := 4
    switch day {
    case 1:
        fmt.Println("Monday")
    case 2:
        fmt.Println("Tuesday")
    case 3:
        fmt.Println("Wednesday")
    case 4:
        fmt.Println("Thursday")
    case 5:
        fmt.Println("Friday")
    default:
        fmt.Println("Invalid day")
    }
}

ไวยากรณ์คำสั่งสลับใน Golang

switch optstatement; optexpression {
case expression1:
    // Khối code
case expression2:                                                          # Expression Switch
    // Khối code
default:
    // Khối code
}

switch var := interfaceValue.(type) {
case type1:
    // Khối code
case type2:                                                                    # Type Switch
    // Khối code
default:
    // Khối code
}

สวิตช์การแสดงออก

Expression Switchจะประเมินนิพจน์และสลับไปที่กรณีตามค่าของนิพจน์นั้น ถ้าไม่ได้ระบุการแสดงออกสวิตช์ จะ ตั้งค่าเริ่มต้นเป็นtrue

ไวยากรณ์

switch optstatement; optexpression {
case expression1:
    // Khối code
case expression2:
    // Khối code
default:
    // Khối code
}

optstatement:คำสั่งเสริม (เช่น การประกาศตัวแปร)
optexpression:นิพจน์เสริม (ถ้าละเว้น ค่าเริ่มต้นจะเป็นtrue )

ตัวอย่างพร้อมคำสั่งเสริม

ที่นี่จะแนะนำคำสั่งเสริมที่ประกาศตัวแปรวัน จากนั้น คำสั่งสวิตช์จะประเมินวันตามกรณีที่แตกต่างกัน

package main
import "fmt"
func main() {
    switch day := 4; day {
    case 1:
        fmt.Println("Monday")
    case 2:
        fmt.Println("Tuesday")
    case 3:
        fmt.Println("Wednesday")
    case 4:
        fmt.Println("Thursday")
    case 5:
        fmt.Println("Friday")
    default:
        fmt.Println("Invalid day")
    }
}

ผลลัพธ์:

Thursday

ตัวอย่างที่มีนิพจน์เสริม

ถ้าไม่มีการระบุนิพจน์คำสั่งสวิตช์ใน Golangจะถือว่านิพจน์นั้นเป็นจริง สิ่งนี้ช่วยให้เราสามารถใช้เงื่อนไขแบบบูลีนในคำสั่ง case ได้

package main
import "fmt"

func main() {
    day := 4

    switch {
    case day == 1:
        fmt.Println("Monday")
    case day == 4:
        fmt.Println("Thursday")
    case day > 5:
        fmt.Println("Weekend")
    default:
        fmt.Println("Invalid day")
    }
}

ผลลัพธ์

Thursday

ประเภทสวิตช์

สวิตช์ประเภทใช้ในการแยกสาขาตามชนิดของค่าอินเทอร์เฟซ แทนที่จะเป็นค่าของมัน สิ่งนี้มีประโยชน์อย่างยิ่งเมื่อต้องจัดการกับตัวแปรที่มีประเภทที่ไม่รู้จัก

ไวยากรณ์

switch var := interfaceValue.(type) {
case type1:
    // Khối code
case type2:
    // Khối code
default:
    // Khối code
}

ตัวอย่างเช่น:

ตัวอย่างนี้ใช้ตัวแปร วันเดียวกันแต่รวมอยู่ในinterface{}เพื่อแสดงการแปลงประเภท

package main
import "fmt"
func main() {
    var day interface{} = 4
    switch v := day.(type) {
    case int:
        switch v {
        case 1:
            fmt.Println("Monday")
        case 2:
            fmt.Println("Tuesday")
        case 3:
            fmt.Println("Wednesday")
        case 4:
            fmt.Println("Thursday")
        case 5:
            fmt.Println("Friday")
        default:
            fmt.Println("Invalid day")
        }
    default:
        fmt.Printf("Unknown type: %T\n", v)
    }
}

ผลลัพธ์:

Thursday
Sign up and earn $1000 a day ⋙

Leave a Comment

วิธีการใช้ค่าคงที่ใน Golang

วิธีการใช้ค่าคงที่ใน Golang

ค่าคงที่หรือ Const ใน Golang คืออะไร? นี่คือสิ่งที่คุณจำเป็นต้องรู้เกี่ยวกับการใช้ค่าคงที่ใน Go

ฟังก์ชั่นระเหยใน Golang

ฟังก์ชั่นระเหยใน Golang

ฟังก์ชัน Variadic ใน Go ช่วยให้คุณสามารถส่งอาร์กิวเมนต์จำนวนไม่แน่นอนไปยังฟังก์ชันได้ นี่คือทุกสิ่งที่คุณจำเป็นต้องทราบเกี่ยวกับฟังก์ชันผันผวนใน Golang

พารามิเตอร์การส่งคืนที่มีชื่อใน Golang

พารามิเตอร์การส่งคืนที่มีชื่อใน Golang

ใน Golang พารามิเตอร์การส่งคืนที่มีชื่อมักเรียกว่าพารามิเตอร์ที่มีชื่อ Golang อนุญาตให้ตั้งชื่อพารามิเตอร์ที่ส่งกลับหรือผลลัพธ์ของฟังก์ชันในลายเซ็นหรือคำจำกัดความของฟังก์ชัน

คีย์เวิร์ดใน Go

คีย์เวิร์ดใน Go

คำหลัก - คำหลักคือคำในภาษาที่ใช้สำหรับกระบวนการภายในบางอย่างหรือแสดงถึงการดำเนินการที่กำหนดไว้ล่วงหน้า นี่คือสิ่งที่คุณจำเป็นต้องทราบเกี่ยวกับคีย์เวิร์ดใน Golang

ประเภทข้อมูลใน Golang

ประเภทข้อมูลใน Golang

ประเภทข้อมูลระบุประเภทข้อมูลที่ตัวแปร Go ที่ถูกต้องสามารถมีได้ ในภาษา Go ประเภทจะถูกแบ่งออกเป็นสี่ประเภทดังต่อไปนี้:

อาร์กิวเมนต์ฟังก์ชันใน Golang

อาร์กิวเมนต์ฟังก์ชันใน Golang

Go รองรับสองวิธีหลักในการส่งอาร์กิวเมนต์: ส่งตามค่าและส่งตามการอ้างอิง Go จะใช้ค่า pass by ตามค่าเริ่มต้น

ฟังก์ชันส่งคืนค่าหลายค่าใน Golang

ฟังก์ชันส่งคืนค่าหลายค่าใน Golang

ในภาษา Go คุณได้รับอนุญาตให้ส่งคืนค่าหลายค่าจากฟังก์ชันโดยใช้คำสั่ง return กล่าวอีกนัยหนึ่ง ในฟังก์ชัน คำสั่ง return สามารถส่งคืนค่าได้หลายค่า

กรณีที่ควรทราบเมื่อใช้คำสั่งเลือกใน Golang

กรณีที่ควรทราบเมื่อใช้คำสั่งเลือกใน Golang

ในบทความนี้ เราจะเรียนรู้วิธีใช้เคสเริ่มต้นเพื่อหลีกเลี่ยงการหยุดชะงัก ก่อนอื่นเรามาดูก่อนว่า deadlock case เกิดขึ้นเมื่อใช้คำสั่ง Golang select อย่างไร

โครงสร้างและฟิลด์ที่ไม่ระบุชื่อในโกลัง

โครงสร้างและฟิลด์ที่ไม่ระบุชื่อในโกลัง

โครงสร้างที่ไม่ระบุชื่อใน Golang เป็นโครงสร้างชั่วคราวที่ไม่มีการใช้ชื่อเพื่อวัตถุประสงค์เพียงครั้งเดียว ในขณะที่ฟิลด์ที่ไม่ระบุชื่ออนุญาตให้ฝังฟิลด์ที่ไม่มีชื่อได้

วิธีใช้ตัวดำเนินการใน Golang

วิธีใช้ตัวดำเนินการใน Golang

ตัวดำเนินการช่วยให้เราสามารถดำเนินการประเภทต่างๆ กับตัวดำเนินการได้ ในภาษา Go ตัวดำเนินการสามารถจำแนกประเภทได้ตามฟังก์ชันที่แตกต่างกัน

ตัวระบุช่องว่างใน Golang

ตัวระบุช่องว่างใน Golang

_(ขีดล่าง) ใน Golang เรียกว่า Blank Identifier ตัวระบุคือชื่อที่ผู้ใช้กำหนดสำหรับส่วนประกอบของโปรแกรมซึ่งใช้เพื่อวัตถุประสงค์ในการระบุตัวตน

วิธีการสร้างโปรแกรมพื้นฐานใน Golang

วิธีการสร้างโปรแกรมพื้นฐานใน Golang

สวัสดีโลก! เป็นโปรแกรมพื้นฐานแรกในภาษาการเขียนโปรแกรมใด ๆ คุณสามารถเขียนโปรแกรมแรกนี้ใน Golang ได้โดยทำตามขั้นตอนด้านล่างนี้

วิธีการติดตั้ง Go บน Windows

วิธีการติดตั้ง Go บน Windows

Golang สามารถติดตั้งบน Windows ได้อย่างง่ายดาย ด้านล่างนี้เป็นคำแนะนำทีละขั้นตอนโดยละเอียดในการติดตั้ง Golang บน Windows

วิธีการที่มีชื่อเดียวกันใน Golang

วิธีการที่มีชื่อเดียวกันใน Golang

Golang อนุญาตให้สร้างวิธีการ 2 วิธีหรือมากกว่าที่มีชื่อเดียวกันในแพ็คเกจเดียวกัน แต่ตัวรับของวิธีการเหล่านี้จะต้องเป็นประเภทที่แตกต่างกัน

แล็ปท็อปที่ดีที่สุดสำหรับนักเรียนในปี 2025

แล็ปท็อปที่ดีที่สุดสำหรับนักเรียนในปี 2025

นักศึกษาจำเป็นต้องมีแล็ปท็อปเฉพาะทางสำหรับการเรียน ไม่เพียงแต่จะต้องมีพลังเพียงพอที่จะทำงานได้ดีในสาขาวิชาที่เลือกเท่านั้น แต่ยังต้องมีขนาดกะทัดรัดและน้ำหนักเบาพอที่จะพกพาไปได้ตลอดวัน

วิธีเพิ่มเครื่องพิมพ์ลงใน Windows 10

วิธีเพิ่มเครื่องพิมพ์ลงใน Windows 10

การเพิ่มเครื่องพิมพ์ลงใน Windows 10 เป็นเรื่องง่าย แม้ว่ากระบวนการสำหรับอุปกรณ์แบบมีสายจะแตกต่างจากอุปกรณ์ไร้สายก็ตาม

วิธีตรวจสอบ RAM และตรวจสอบข้อผิดพลาด RAM บนคอมพิวเตอร์ของคุณด้วยอัตราความแม่นยำสูงสุด

วิธีตรวจสอบ RAM และตรวจสอบข้อผิดพลาด RAM บนคอมพิวเตอร์ของคุณด้วยอัตราความแม่นยำสูงสุด

อย่างที่ทราบกันดีว่า RAM เป็นส่วนประกอบฮาร์ดแวร์ที่สำคัญมากในคอมพิวเตอร์ ทำหน้าที่เป็นหน่วยความจำในการประมวลผลข้อมูล และเป็นปัจจัยที่กำหนดความเร็วของแล็ปท็อปหรือพีซี ในบทความด้านล่างนี้ WebTech360 จะแนะนำวิธีการตรวจสอบข้อผิดพลาดของ RAM โดยใช้ซอฟต์แวร์บน Windows

ความแตกต่างระหว่างทีวีธรรมดากับสมาร์ททีวี

ความแตกต่างระหว่างทีวีธรรมดากับสมาร์ททีวี

สมาร์ททีวีเข้ามาครองโลกอย่างแท้จริง ด้วยคุณสมบัติที่ยอดเยี่ยมมากมายและการเชื่อมต่ออินเทอร์เน็ต เทคโนโลยีได้เปลี่ยนแปลงวิธีการชมทีวีของเรา

ทำไมช่องแช่แข็งไม่มีแสง แต่ตู้เย็นมี?

ทำไมช่องแช่แข็งไม่มีแสง แต่ตู้เย็นมี?

ตู้เย็นเป็นเครื่องใช้ไฟฟ้าที่คุ้นเคยในครัวเรือน ตู้เย็นโดยทั่วไปจะมี 2 ช่อง โดยช่องแช่เย็นจะมีขนาดกว้างขวางและมีไฟที่เปิดอัตโนมัติทุกครั้งที่ผู้ใช้งานเปิด ในขณะที่ช่องแช่แข็งจะแคบและไม่มีไฟส่องสว่าง

2 วิธีในการแก้ไขความแออัดของเครือข่ายที่ทำให้ Wi-Fi ช้าลง

2 วิธีในการแก้ไขความแออัดของเครือข่ายที่ทำให้ Wi-Fi ช้าลง

เครือข่าย Wi-Fi ได้รับผลกระทบจากปัจจัยหลายประการนอกเหนือจากเราเตอร์ แบนด์วิดท์ และสัญญาณรบกวน แต่ยังมีวิธีชาญฉลาดบางอย่างในการเพิ่มประสิทธิภาพเครือข่ายของคุณ

วิธีดาวน์เกรดจาก iOS 17 เป็น iOS 16 โดยไม่สูญเสียข้อมูลโดยใช้ Tenorshare Reiboot

วิธีดาวน์เกรดจาก iOS 17 เป็น iOS 16 โดยไม่สูญเสียข้อมูลโดยใช้ Tenorshare Reiboot

หากคุณต้องการกลับไปใช้ iOS 16 ที่เสถียรบนโทรศัพท์ของคุณ นี่คือคำแนะนำพื้นฐานในการถอนการติดตั้ง iOS 17 และดาวน์เกรดจาก iOS 17 เป็น 16

เมื่อกินโยเกิร์ตเป็นประจำทุกวัน จะเกิดอะไรขึ้นกับร่างกาย?

เมื่อกินโยเกิร์ตเป็นประจำทุกวัน จะเกิดอะไรขึ้นกับร่างกาย?

โยเกิร์ตเป็นอาหารที่ยอดเยี่ยม กินโยเกิร์ตทุกวันดีจริงหรือ? เมื่อคุณกินโยเกิร์ตทุกวัน ร่างกายจะเปลี่ยนแปลงไปอย่างไรบ้าง? ลองไปหาคำตอบไปด้วยกัน!

ข้าวประเภทไหนดีต่อสุขภาพมากที่สุด?

ข้าวประเภทไหนดีต่อสุขภาพมากที่สุด?

บทความนี้จะกล่าวถึงประเภทของข้าวที่มีคุณค่าทางโภชนาการสูงสุดและวิธีเพิ่มประโยชน์ด้านสุขภาพจากข้าวที่คุณเลือก

วิธีตื่นนอนให้ตรงเวลาในตอนเช้า

วิธีตื่นนอนให้ตรงเวลาในตอนเช้า

การกำหนดตารางเวลาการนอนและกิจวัตรประจำวันก่อนเข้านอน การเปลี่ยนนาฬิกาปลุก และการปรับเปลี่ยนการรับประทานอาหารเป็นมาตรการบางประการที่จะช่วยให้คุณนอนหลับได้ดีขึ้นและตื่นนอนตรงเวลาในตอนเช้า

เคล็ดลับสำหรับการเล่น Rent Please! การจำลองผู้ให้เช่าบ้านสำหรับมือใหม่

เคล็ดลับสำหรับการเล่น Rent Please! การจำลองผู้ให้เช่าบ้านสำหรับมือใหม่

ขอเช่าหน่อยคะ! Landlord Sim เป็นเกมจำลองมือถือบน iOS และ Android คุณจะเล่นเป็นเจ้าของอพาร์ทเมนท์และเริ่มให้เช่าอพาร์ทเมนท์โดยมีเป้าหมายในการอัพเกรดภายในอพาร์ทเมนท์ของคุณและเตรียมพร้อมสำหรับผู้เช่า

รหัสป้องกันหอคอยในห้องน้ำล่าสุดและวิธีการป้อนรหัส

รหัสป้องกันหอคอยในห้องน้ำล่าสุดและวิธีการป้อนรหัส

รับรหัสเกม Bathroom Tower Defense Roblox และแลกรับรางวัลสุดน่าตื่นเต้น พวกเขาจะช่วยคุณอัพเกรดหรือปลดล็อคหอคอยที่สร้างความเสียหายได้มากขึ้น

โครงสร้าง สัญลักษณ์ และหลักการทำงานของหม้อแปลงไฟฟ้า

โครงสร้าง สัญลักษณ์ และหลักการทำงานของหม้อแปลงไฟฟ้า

มาเรียนรู้เรื่องโครงสร้าง สัญลักษณ์ และหลักการทำงานของหม้อแปลงแบบแม่นยำที่สุดกันดีกว่า

4 วิธีที่ AI ช่วยทำให้สมาร์ททีวีดีขึ้น

4 วิธีที่ AI ช่วยทำให้สมาร์ททีวีดีขึ้น

ตั้งแต่คุณภาพของภาพและเสียงที่ดีขึ้นไปจนถึงการควบคุมด้วยเสียงและอื่นๆ อีกมากมาย คุณสมบัติที่ขับเคลื่อนด้วย AI เหล่านี้ทำให้สมาร์ททีวีดีขึ้นมาก!

เหตุใด ChatGPT จึงดีกว่า DeepSeek

เหตุใด ChatGPT จึงดีกว่า DeepSeek

ในตอนแรกผู้คนมีความหวังสูงกับ DeepSeek ในฐานะแชทบอท AI ที่ทำการตลาดในฐานะคู่แข่งที่แข็งแกร่งของ ChatGPT จึงรับประกันถึงความสามารถและประสบการณ์การแชทอันชาญฉลาด