0% found this document useful (0 votes)
32 views1 page

Go by Example - Switch

Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
32 views1 page

Go by Example - Switch

Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 1

Go by Example: Switch https://gobyexample.

com/switch

Go by Example: Switch
Switch statements express conditionals across
many branches.

package main

import (
"fmt"
"time"
)

func main() {

Here’s a basic switch. i := 2


fmt.Print("Write ", i, " as ")
switch i {
case 1:
fmt.Println("one")
case 2:
fmt.Println("two")
case 3:
fmt.Println("three")
}

You can use commas to separate multiple switch time.Now().Weekday() {


expressions in the same case statement. We use case time.Saturday, time.Sunday:
the optional default case in this example as well. fmt.Println("It's the weekend")
default:
fmt.Println("It's a weekday")
}

switch without an expression is an alternate way t := time.Now()


to express if/else logic. Here we also show how the switch {
case expressions can be non-constants. case t.Hour() < 12:
fmt.Println("It's before noon")
default:
fmt.Println("It's after noon")
}

A type switch compares types instead of values. whatAmI := func(i interface{}) {


You can use this to discover the type of an switch t := i.(type) {
interface value. In this example, the variable t will case bool:
fmt.Println("I'm a bool")
have the type corresponding to its clause.
case int:
fmt.Println("I'm an int")
default:
fmt.Printf("Don't know type %T\n", t)
}
}
whatAmI(true)
whatAmI(1)
whatAmI("hey")
}

$ go run switch.go
Write 2 as two
It's a weekday
It's after noon
I'm a bool
I'm an int
Don't know type string

Next example: Arrays.

by Mark McGranaghan and Eli Bendersky | source | license

1 of 1 11/26/24, 23:27

You might also like