From b566fd109e07f222be634edbb95a102e56a32d3d Mon Sep 17 00:00:00 2001 From: Sebastian Steger Date: Wed, 20 Aug 2025 06:35:55 +0000 Subject: [PATCH] switch --- go/01-basics/05-switch.go | 49 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 49 insertions(+) create mode 100644 go/01-basics/05-switch.go diff --git a/go/01-basics/05-switch.go b/go/01-basics/05-switch.go new file mode 100644 index 0000000..545f1a6 --- /dev/null +++ b/go/01-basics/05-switch.go @@ -0,0 +1,49 @@ +package main + +import ( + "fmt" + "time" +) + +func main() { + + i := 2 + fmt.Print("Write ", i, " as ") + switch i { + case 1: + fmt.Println("one") + case 2: + fmt.Println("two") + case 3: + fmt.Println("three") + } + + switch time.Now().Weekday() { + case time.Saturday, time.Sunday: + fmt.Println("It's the weekend") + default: + fmt.Println("It's a weekday") + } + + t := time.Now() + switch { + case t.Hour() < 12: + fmt.Println("It's before noon") + default: + fmt.Println("It's after noon") + } + + whatAmI := func(i interface{}) { + switch t := i.(type) { + case bool: + fmt.Println("I'm a bool") + case int: + fmt.Println("I'm an int") + default: + fmt.Printf("Don't know type %T\n", t) + } + } + whatAmI(true) + whatAmI(1) + whatAmI("hey") +}