> 技术文档 > GoLang教程005:switch分支

GoLang教程005:switch分支


3.4 Switch分支

GoLand(其实是 JetBrains 开发的 Go 编程语言 IDE)中,switchGo 语言(Golang) 的一个重要控制结构,用于替代多个 if-else 语句

✅ 特点说明

特性 说明 自动 break Go 的 switch 语句默认每个 case 执行完会自动跳出(无需写 break) 支持多个匹配值 可以在一个 case 中写多个值,用逗号分隔 支持表达式 switchcase 都可以是表达式 支持 switch 省略表达式(等价于 switch true

✅ 基本语法

switch 表达式 {case1: 语句块1case2: 语句块2default: 默认语句块}

🔹 示例一:基本用法

package mainimport \"fmt\"func main() {color := \"red\"switch color {case \"red\":fmt.Println(\"红色\")case \"blue\":fmt.Println(\"蓝色\")default:fmt.Println(\"未知颜色\")}}

🔸 输出

GoLang教程005:switch分支

🔹 示例二:多个匹配值

package mainimport \"fmt\"func main() {number := 3switch number {case 1, 3, 5:fmt.Println(\"奇数\")case 2, 4, 6:fmt.Println(\"偶数\")}}

🔸 输出

GoLang教程005:switch分支

🔹 示例三:省略 switch 表达式(更像 if-else)

package mainimport \"fmt\"func main() {age := 20switch {case age < 18:fmt.Println(\"未成年人\")case age >= 18 && age < 60:fmt.Println(\"成年人\")default:fmt.Println(\"老年人\")}}

🔸 输出

GoLang教程005:switch分支

示例四:使用 fallthrough 强制执行下一个 case(不常用)

package mainimport \"fmt\"func main() {num := 1switch num {case 1:fmt.Println(\"一\")fallthroughcase 2:fmt.Println(\"二\")fallthroughcase 3:fmt.Println(\"三\")}}

🔸 输出

GoLang教程005:switch分支

✅ 小结

功能 说明 自动 break 不像 Java/C,需要手动 break 可省略表达式 支持 switch true {} 支持多个值 case 1, 2, 3: fallthrough 手动执行下一个 case