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.

How to make cleaning fun

How to make cleaning fun

Cleaning doesn't have to be a chore if you know how to make it fun. Here are some simple ways to make cleaning fun.

What is the Infinity Fortress in Demon Slayer?

What is the Infinity Fortress in Demon Slayer?

Demon Slayer: Infinity Fortress is getting a lot of attention from fans. So what's inside Demon Slayer's Infinity Fortress? Let's find out together!

ChatGPT May Be Running Silently on Your Phone and How to Fix It

ChatGPT May Be Running Silently on Your Phone and How to Fix It

Background Conversations keep a user's conversation with ChatGPT going while using other apps or when the screen is off. This means ChatGPT can listen or monitor a user's phone usage behavior 24/7.

Googles Gemini Responds With Weird, Repeated Nonsense Words to Some Users

Googles Gemini Responds With Weird, Repeated Nonsense Words to Some Users

Recently, some users noticed that Google Gemini has been giving repetitive text, weird characters, and complete nonsense in some responses.

Full code of Luc Tung Tam Quoc latest and instructions to redeem code

Full code of Luc Tung Tam Quoc latest and instructions to redeem code

Code Luc Tung Tam Quoc gives new players everything they need to start their journey.

Code Giang Ho Ngu Tuyet and how to enter code

Code Giang Ho Ngu Tuyet and how to enter code

Giang Ho Ngu Tuyet is an MMORPG game based on the five elements of mutual generation and mutual inhibition. With 5 sects: Shaolin, Minh Giao, Vo Dang, Duong Gia, Thien Nhan based on the five elements of Metal, Wood, Water, Fire, Earth.

MIUI 13 Wallpaper, MIUI 13 Wallpaper

MIUI 13 Wallpaper, MIUI 13 Wallpaper

MIUI 13 wallpapers with many different wallpaper themes from abstract to landscape, combined with vivid and attractive colors for users to choose from.

How to fix Your virus & threat protection is managed by your organization error

How to fix Your virus & threat protection is managed by your organization error

What do you need to do to resolve the error Your virus & threat protection is managed by your organization?

How to fix Chromebook not turning on

How to fix Chromebook not turning on

If your Chromebook won't turn on, you're probably feeling frustrated and hopeless. Luckily, many of the reasons why a Chromebook won't turn on are easy to fix.

Why should you always check app permissions before pressing install?

Why should you always check app permissions before pressing install?

Taking a moment to review your app permissions can save you a lot of privacy and security problems later on!

How to play Rengar DTCL season 14, standard items, lineup...

How to play Rengar DTCL season 14, standard items, lineup...

Rengar DTCL season 14 will play the main assassin role, with the ability to jump to the enemy with the lowest health and deal strong physical damage.

Can autism be detected based on facial features?

Can autism be detected based on facial features?

Using facial features to detect autism is a growing area of ​​research. While it can aid in diagnosis, much of the research remains unreliable.

10 types of diseases caused by technology, only appear in modern people

10 types of diseases caused by technology, only appear in modern people

Technology brings convenience and unlimited connectivity, changing everyone's lives but also bringing diseases that were never seen before.

How to move purchases between 2 Apple accounts

How to move purchases between 2 Apple accounts

If you've purchased apps, subscriptions, music, videos, or other content from one Apple account, you can now transfer purchases to another Apple account when needed.

How to hide personal information of photos on phone

How to hide personal information of photos on phone

Skitch application on Android, iOS will edit images including the feature of blurring out personal and confidential information in the image.