Switch Statement in Go

Golang like most other programming languages ​​has the switch statement . The switch statement in Golang  allows you to evaluate a variable or expression in multiple cases and is often used when writing multiple if-else statements makes the code look ugly and repetitive.

Switch Statement in Go

In Go, a switch statement is a multi-directional branching statement that effectively directs execution based on the value (or type) of an expression. There are two main types of switch statements in Go :

  • Expression Switch
  • Type Switch

For example:

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")
    }
}

Switch statement syntax in 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

Expression Switch evaluates an expression and switches to a case based on the value of that expression. If no expression is provided, switch defaults to true .

Syntax

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

optstatement: Optional statement (e.g. variable declaration).
optexpression: Optional expression (if omitted, defaults to true ).

Example with optional command

Here we introduce an optional statement that declares a variable day . The switch statement then evaluates day under various cases.

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")
    }
}

Result:

Thursday

Example with optional Expression

If no expression is specified, the switch statement in Golang will assume the expression is true. This allows us to use boolean conditions in case statements.

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")
    }
}

Result

Thursday

Type Switch

Type Switch is used to branch on the type of an interface value, rather than its value. This is especially useful when dealing with variables of unknown type.

Syntax

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

For example:

This example uses the same day variable but wrapped in interface{} to illustrate type casting.

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)
    }
}

Result:

Thursday
Sign up and earn $1000 a day ⋙

Leave a Comment

Keywords in Go

Keywords in Go

Keyword - Keywords are words in a language that are used for some internal processes or represent some predefined actions. Here is what you need to know about keywords in Golang.

Data types in Golang

Data types in Golang

Data types specify what type of data a valid Go variable can hold. In the Go language, types are divided into four categories as follows:

Function arguments in Golang

Function arguments in Golang

Go supports two main ways to pass arguments: Pass by Value and Pass by Reference. Go uses pass by value by default.

Function returning multiple values ​​in Golang

Function returning multiple values ​​in Golang

In Go language, you are allowed to return multiple values ​​from a function, using the return statement. In other words, in a function, a return statement can return multiple values.

Cases to know when using selection statements in Golang

Cases to know when using selection statements in Golang

In this article, we will learn how to use default case to avoid deadlock. But first, we will learn what is deadlock case when using select command in Golang?

Anonymous structures and fields in Golang

Anonymous structures and fields in Golang

Anonymous structs in Golang are temporary structures with no names used for one-time purposes, while anonymous fields allow embedding of unnamed fields.

How to use Rune in Golang

How to use Rune in Golang

What is Rune in Golang? How to use Rune in Golang? This article will give you the answer.

How to use operators in Golang

How to use operators in Golang

Operators allow us to perform different types of operations on operands. In Go language, operators can be classified based on their different functions.

Void identifier in Golang

Void identifier in Golang

_(underscore) in Golang is called Blank Identifier. Identifier is a user-defined name of program elements used for identification purposes.

How to create basic program in Golang

How to create basic program in Golang

Hello, World! is the first basic program in any programming language. You can write this first program in Golang by following the steps below.

How to Install Go on Windows

How to Install Go on Windows

Golang can be easily installed on Windows. Here is a step-by-step guide to install Golang on Windows.

Methods with the same name in Golang

Methods with the same name in Golang

Golang allows creating two or more methods with the same name in the same package, but the receivers of these methods must be of different types.

Functions in Go

Functions in Go

In Go, functions are blocks of code that perform specific tasks, which can be reused throughout the program to save memory, improve readability, and save time.

Variable Scope in Go

Variable Scope in Go

The scope of a variable in Golang determines which part of the program the variable is accessible to. In Go, all identifiers have a lexical scope that is determined at compile time.

Latest Black Goddess Code and how to redeem code

Latest Black Goddess Code and how to redeem code

If you want to receive diamonds, SSR generals, lottery tickets along with many other items, then use the code Black Goddess and redeem the rewards.

Tips for playing Doggo Go through level 2, how to play Doggo Go level 2

Tips for playing Doggo Go through level 2, how to play Doggo Go level 2

Currently Doggo Go is a Mobile Game that only 1% of players in the world can pass level 2.

Apple Watch Ultra 3 could be the first smartwatch to feature satellite connectivity

Apple Watch Ultra 3 could be the first smartwatch to feature satellite connectivity

The Apple Watch Ultra 3 is rumored to feature a unique new communication tool. Bloomberg's Mark Gurman has just revealed some exciting new details about the upcoming smartwatch.

Top Trending Searches in 2024

Top Trending Searches in 2024

To see what the world is curious about this year, check out Google's Year in Search, which just launched on December 11, 2024.

Samsung is bringing a great video-recording feature from Pixel phones to the Galaxy

Samsung is bringing a great video-recording feature from Pixel phones to the Galaxy

The quality of video captured through smartphone cameras in general has improved dramatically over the past few years.

How to treat blisters on feet when walking a lot and wearing tight shoes

How to treat blisters on feet when walking a lot and wearing tight shoes

What to do if your feet get blisters from wearing shoes? This article will guide you on how to fix blisters from wearing shoes.

Multiple choice on general science knowledge

Multiple choice on general science knowledge

Multiple choice questions about life sciences will help you consolidate and expand your knowledge about the world. Let's answer the general knowledge questions below!

How to protect TV, refrigerator, washing machine from mold in wet season

How to protect TV, refrigerator, washing machine from mold in wet season

During the humid season, electronic and refrigeration equipment often malfunction or break down due to high humidity in the air. If you know how to handle humidity in your home, your equipment will avoid the above situations.

Comparing condenser dryers, vented dryers and heat pump dryers, what are the differences, which one should I buy?

Comparing condenser dryers, vented dryers and heat pump dryers, what are the differences, which one should I buy?

There are three common types of dryers on the market today: condenser dryers, vented dryers, and heat pump dryers. To find out which dryer is right for your home, please read our article!

How to Add Recycle Bin to File Explorer

How to Add Recycle Bin to File Explorer

This guide will show you all the steps needed to show the Recycle Bin in File Explorer, regardless of whether you are using Windows 10 or Windows 11.

What to Know About Peaklight: New Stealth Malware Targets Illegal Movie Downloads

What to Know About Peaklight: New Stealth Malware Targets Illegal Movie Downloads

Now, a new attack called Peaklight is going viral and targeting people who download movies illegally.

Bluetooth 6.0 brings new technology that helps Apple improve Find My network

Bluetooth 6.0 brings new technology that helps Apple improve Find My network

The Bluetooth Special Interest Group (Bluetooth SIG) released the specifications for the next generation of the technology, called Bluetooth 6.0, this week.

How to use abstract images to create phone wallpapers

How to use abstract images to create phone wallpapers

You can create your own phone wallpapers from abstract photos. Not only are they beautiful, but the process of creating them is quite fun.

Why is choosing the right charger more difficult than it needs to be?

Why is choosing the right charger more difficult than it needs to be?

Choosing the wrong charger can cause your device to charge slowly or even break. And with so many options and similar products, finding the right one is harder than ever.

Users May Soon See Instagram Comments on Threads

Users May Soon See Instagram Comments on Threads

Instagram could roll out a way to share comments on other Instagram posts to Threads, according to Alessandro Paluzzi, who regularly analyzes Meta's social media apps to spot upcoming features.