在这篇教程中,我们将学习 Go 语言中的 switch
语句,它是条件分支的重要结构。我们将通过一个示例程序逐步解析 switch
的不同用法。
package mainimport ("fmt""time"
)func main() {i := 2fmt.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")
}