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.pswp.cn/news/908837.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

FFmpeg:Windows系统小白安装及其使用

一、安装 1.访问官网 Download FFmpeg 2.点击版本目录 3.选择版本点击安装 注意这里选择的是【release buids】&#xff0c;注意左上角标题 例如我安装在目录 F:\FFmpeg 4.解压 5.添加环境变量 把你解压后的bin目录&#xff08;即exe所在文件夹&#xff09;加入系统变量…

LLM基础2_语言模型如何文本编码

基于GitHub项目&#xff1a;https://github.com/datawhalechina/llms-from-scratch-cn 字节对编码(BPE) 上一篇博文说到 为什么GPT模型不需要[PAD]和[UNK]&#xff1f; GPT使用更先进的字节对编码(BPE)&#xff0c;总能将词语拆分成已知子词 为什么需要BPE&#xff1f; 简…

监控升级:可视化如何让每一个细节 “说话”

你有没有遇到过这样的情况&#xff1f; 监控画面里明明有“异常”&#xff0c;但值班人员愣是没发现&#xff1b; 报警响起却不知道具体发生了什么&#xff0c;只能靠猜、靠翻录像&#xff1b; 出了事回看录像&#xff0c;才发现线索早就在眼前&#xff0c;只是没人注意到………

单片机bootloader(APP的自我复制)

文章目录 Bootloader 中 APP 的自我复制与启动机制解析一、为什么要进行自我复制?二、程序整体结构概述三、汇编启动代码分析重点解释:四、C 语言部分分析核心功能:五、start\_app 函数:手动启动指定 APP六、总结七、适用场景Bootloader 中 APP 的自我复制与启动机制解析 …

浏览器工作原理11 [#] this:从JavaScript执行上下文视角讲this

引用 《浏览器工作原理与实践》 在上篇文章中&#xff0c;我们讲了词法作用域、作用域链以及闭包&#xff0c;并在最后思考题中留了下面这样一段代码 var bar {myName:"time.geekbang.com",printName: function () {console.log(myName)} } function foo() {le…

【C语言】-递归

1、递归概念 递归&#xff08;Recursion&#xff09;是编程中一种重要的解决问题的方法&#xff0c;其核心思想是函数通过调用自身来解决规模更小的子问题&#xff0c;直到达到最小的、可以直接解决的基准情形&#xff08;Base Case&#xff09;。 核心&#xff1a;自己调用…

12.5Swing控件3Jpanel JOptionPane

JPanel JPanel是一个轻量级容器组件&#xff0c;用于组织和管理其他 GUI 组件。它继承自JComponent类&#xff0c;属于javax.swing包&#xff0c;可以容纳按钮、文本框、标签等控件 JPanel 默认使用的布局管理器是 FlowLayout&#xff0c;也可以嵌套其他面板&#xff0c;以便…

MIPI信号为什么不能进行长距离传输

1.关于MIPI信号传输 MIPI信号是不适合长距离传输的。 2.MIPI的信号摆幅小&#xff0c;抗干扰能力比较弱 MIPI信号的差分摆幅比较小&#xff0c;通常只有100mV~200mV,远远低于LVDS的350mV的摆幅 小摆幅信号在长线缆上传输的时候更容易被噪声淹没&#xff0c;信噪比下降&#xf…

Qt的学习(二)

1. 创建Hello Word 两种方式&#xff0c;实现helloworld&#xff1a; 1.通过图形化的方式&#xff0c;在界面上创建出一个控件&#xff0c;显示helloworld 2.通过纯代码的方式&#xff0c;通过编写代码&#xff0c;在界面上创建控件&#xff0c; 显示hello world&#xff1b; …

Windows11+VS2019配置Libigl-2.4.1

Windows11VS2019配置Libigl-2.4.1 由于课题需要&#xff0c;所以出一篇配置Libigl的博客&#xff0c;制作不易&#xff0c;请多多点赞 一、官网下载 官网&#xff1a;https://libigl.github.io/ GitHub下载地址&#xff1a;https://github.com/libigl/libigl 这里我们选择…

地球科学方向(Geoscience and Remote Sensing),1天见刊,当月可检索!

CSP科学出版社&#xff0c;旨在通过为研究人员提供最佳环境来发表、参考、阅读和引用他们的作品&#xff0c;从而为科学界服务。现已与科检易学术达成出版战略合作&#xff0c;现在联合共同出版高质量学术水平的期刊&#xff0c;为方便广大科研学者投稿方便&#xff0c;现已经建…

基于 Three.js 的 3D 模型快照生成方案

基于 Three.js 的 3D 模型快照生成方案 此方案通过 Three.js 渲染场景并异步生成图像数据&#xff0c;同时支持分辨率缩放和 Blob 格式输出&#xff0c;为模型预览、截图保存等需求提供完整解决方案。 问题分析&#xff1a; 使用html2canvas 生成的快照画布显示为空&#xff…

「Java基本语法」变量的使用

变量定义 变量是程序中存储数据的容器&#xff0c;用于保存可变的数据值。在Java中&#xff0c;变量必须先声明后使用&#xff0c;声明时需指定变量的数据类型和变量名。 语法 数据类型 变量名 [ 初始值]; 示例&#xff1a;声明与初始化 public class VariableDemo {publi…

SpringCloud学习笔记-2

说明&#xff1a;来源于网络&#xff0c;如有侵权请联系我删除 1.提问&#xff1a;如果注册中心宕机&#xff0c;远程调用还能成功吗 答&#xff1a;当微服务发起请求时&#xff0c;会向注册中心请求所有的微服务地址&#xff0c;然后在向指定的微服务地址发起请求。在设计实…

Hac - NBh标准JSON协议使用说明文档

Hac - NBh 标准 JSON 协议使用说明文档 一、协议概述 Hac - NBh 标准 JSON 协议是专为物联网设备与服务器数据交互设计的通信协议。以 JSON 格式为基础,采用键值对(KV 值)组织数据,支持灵活选取数据项,通过 CBOR 格式实现高效传输,并利用 AES 128 加密保障数据安全。 …

k8s从入门到放弃之Service负载均衡

k8s从入门到放弃之Service负载均衡 在 Kubernetes (K8s) 中&#xff0c;Service 是一种抽象&#xff0c;它定义了一组逻辑上的 Pod 和访问它们的策略。Service 的主要目的是提供一种可靠的方式来访问一组具有相同标签&#xff08;Label&#xff09;的 Pod&#xff0c;即使这些…

【题解-洛谷】P10480 可达性统计

题目&#xff1a;P10480 可达性统计 题目描述 给定一张 N N N 个点 M M M 条边的有向无环图&#xff0c;分别统计从每个点出发能够到达的点的数量。 输入格式 第一行两个整数 N , M N,M N,M&#xff0c;接下来 M M M 行每行两个整数 x , y x,y x,y&#xff0c;表示从 …

SpringCloud2025+SpringBoot3.5.0+gateway+webflux子服务路由报503

文章目录 前言一、问题二、原因1.分析2.配置静态路由再试3.定位 总结 前言 本来昨天就应该也记录下&#xff0c;免得忘记的&#xff0c;但是有点晚了&#xff0c;酒没写&#xff0c;真的是被坑惨了。 当然这也是追求最新的代价&#xff0c;也是对新技术、老知识点的重温…

破解路内监管盲区:免布线低位视频桩重塑停车管理新标准

城市路内停车管理常因行道树遮挡、高位设备盲区等问题&#xff0c;导致车牌识别率低、逃费率高&#xff0c;传统模式在复杂路段束手无策。免布线低位视频桩凭借超低视角部署与智能算法&#xff0c;正成为破局关键。该设备安装于车位侧方0.5-0.7米高度&#xff0c;直接规避树枝遮…

RAG 文档解析难点1:多栏布局的 PDF 如何解析

写在前面 在构建检索增强生成 (Retrieval-Augmented Generation, RAG) 应用时,高质量的数据源是成功的基石。PDF 作为一种广泛使用的文档格式,承载着海量的知识。然而,许多 PDF 文档,特别是学术论文、期刊、杂志和一些报告,都采用了多栏布局 (multi-column layout)。 直…