当前位置: 首页 > news >正文

Go 语言中switch case条件分支语句

1. 基本语法

package main
import "fmt"
func main() {var extname = ".css"switch extname {case ".html":fmt.Println("text/html")case ".css":fmt.Println("text/css") // text/csscase ".js":fmt.Println("text/javaScript")default:fmt.Println("找不到此后缀")}
}

2. 条件前可以写表达式

package main
import "fmt"
func main() {switch extname := ".html"; extname {case ".html":fmt.Println("text/html") // text/htmlcase ".css":fmt.Println("text/css")case ".js":fmt.Println("text/javascript")default:fmt.Println("找不到此后缀")}// 注意 extname 只能在switch语句中访问fmt.Println(extname) //undefined: extname
}

3. 一个分支可以有多个值

package main
import "fmt"
func main() {var score = "D" switch score {case "A", "B", "C":fmt.Println("及格")case "D":fmt.Println("不及格") // 不及格}
}

4. 分支可以写表达式

package main
import "fmt"
func main() {var age = 18switch {case age < 24:fmt.Println("好好学习") // 好好学习case age >= 24 && age <= 60:fmt.Println("好好赚钱")case age > 60:fmt.Println("注意身体")default:fmt.Println("输入错误")}
}

5. 条件穿透语句

在C语言中 switch 语句中必须添加 break,否则会进行条件穿透,而在Go 语言中的 switch 语句中不用添加 break,也不会产生条件穿透,但是如果需要条件穿透时可以加上 fallthrough。

package main
import "fmt"
func main() {var age = 30switch {case age < 24:fmt.Println("好好学习")case age >= 24 && age <= 60:fmt.Println("好好赚钱") // 好好赚钱fallthroughcase age > 60:fmt.Println("注意身体") // 注意身体default:fmt.Println("输入错误")}
}
http://www.xdnf.cn/news/934219.html

相关文章:

  • 人生中第一次开源:java版本的supervisor,支持web上管理进程,查看日志
  • 【大模型】【推荐系统】LLM在推荐系统中的应用价值
  • 【论文阅读】YOLOv8在单目下视多车目标检测中的应用
  • Pydantic + Function Calling的结合
  • 从碳基羊驼到硅基LLaMA:开源大模型家族的生物隐喻与技术进化全景
  • wpf在image控件上快速显示内存图像
  • 机器学习方法实现数独矩阵识别器
  • (六)卷积神经网络:深度学习在计算机视觉中的应用
  • 深入​剖析网络IO复用
  • java中static学习笔记
  • Amazon RDS on AWS Outposts:解锁本地化云数据库的混合云新体验
  • (AI) Ollama 部署本地 DeepSeek 大模型
  • 在MobaXterm 打开图形工具firefox
  • JVM 类加载器 详解
  • 深入解析Java21核心新特性(虚拟线程,分代 ZGC,记录模式模式匹配增强)
  • 如何思考?思维篇
  • MyBatis原理剖析(二)
  • 编程实验篇--线性探测哈希表
  • Vue 学习路线图(从零到实战)
  • DROPP算法详解:专为时间序列和空间数据优化的PCA降维方案
  • Docker部署SpringBoot项目
  • window下配置ssh免密登录服务器
  • 深入解析机器学习的心脏:损失函数及其背后的奥秘
  • Ubuntu 上安装 Git LFS
  • Electron通信流程
  • Linux68 FTP 测试 上传下载
  • 2025-06-04-低代码平台及相关技术介绍
  • uni-app学习笔记二十九--数据缓存
  • Redis集群模式之主从复制模式(2)
  • 字典序排数