golang switch case语句 简介

【Golang 基础系列十】Go 语言 条件语句之switch 概述 语法 实例 阅读详情

注意:

1.switch/case 后是一个表达式(即:常量,变量,一个有返回的函数都可以);

2.case后的各个表达式的值的数据类型,必须和switch的表达式数据类型一致;

3.case后面可以带多个表达式,使用逗号间隔;

4.case后面的表达式如果是常量值,则要求不能重复;

5.case后面不需要带break,程序匹配到一个case后就会执行对应的代码块,然后退出switch,如果一个都匹配不到,则执行default;

6.default语句不是必须的;

7.switch 后也可以不带表达式,类似 if --else分支来使用;

8.switch 后也可以直接声明一个变量,分号结束,不过不推荐。

9.switch穿透:如果在case语句增加fallthrough,则会继续执行下一个case,默认只穿透一层。

10.type-switch :来判断interface变量中实际指向的变量类型,比如:

package main

import (
	"fmt"
)

func main() {
	var x interface{}
	var y = 10
	x=y
	switch i := x.(type) {
	case nil:
		fmt.Printf("x的类型是:%T",i)
	case int:
		fmt.Printf("x是 int 类型")
	case float64:
		fmt.Printf("x是 float64 类型")
	case func(int) float64:
		fmt.Printf("x是func(int)类型")
	case bool,string:
		fmt.Printf("x是bool或者string类型")
	default:
		fmt.Printf("未知型")
	}
}

执行结果如下图:在这里插入图片描述

案例:根据用户输入的月份,打印该月份所属的季节。

package main

import (
	"fmt"
)

func main() {
	//根据用户输入的月份,打印该月份所属的季节
	var month byte
	fmt.Print("请输入月份:")
	fmt.Scanln(&month)
	switch month {
		case 3, 4, 5:
			fmt.Println("春天")
		case 6, 7, 8:
			fmt.Println("夏天")
		case 9, 10, 11:
			fmt.Println("秋天")
		case 12, 1, 2:
			fmt.Println("冬天")
		default:
			fmt.Println("输入有误...")
	}
}

执行结果如下图所示:
在这里插入图片描述

switch和if的选择:

  1. 如果判断的具体数值不多,而且符合整数,浮点数,字符,字符串这几种类型。建议使用switch语句,简洁高效。
  2. 其他情况:对区间判断和结果为bool类型的判断,使用if,if的使用范围更广。

 

 

GoLang笔记—基础语法篇 我们从计算机系统的角度来讲,变量就是一段或者多段内存,用于存储数据 注意:变量声明以关键字var开头,变量类型后置,行尾无须分号如果你学过C语言,就会体会到这样声明的好处,比如C语言这样声明:int* a, b ,那么只有a是指针,b不是,这样会使人迷惑,如果想要两个变量都为指针,需要这样定义:。 在go语言中,我们使用这样的声明方式:,就可以轻松的将a,b都声明为指针。变量的命名规则遵循驼峰命名法,即首个单词小写,每个新单词的首字母大写,例如: startDate当一个变量被声明之后,系统自动赋予它该类型 阅读详情

相关推荐

golang介绍,特点,项目结构,基本变量类型与声明介绍(数组,切片,映射),控制流语句介绍(条件,循环,switch case)

golang介绍,特点,项目结构,基本变量类型与声明介绍(数组,切片,映射),控制流语句介绍(条件,循环,switch case)

m0_74206992的博客 2073

golang | switch-case

switch作为golang常用的分支语句,熟练掌握其语法特性,有助于在后续工作中熟练使用

weixin_39064001的博客 1954

Go 学习笔记(62)— Go 中 switch 语句中的 switch 表达式和 case 表达式之间的关系

switch 语句对 switch 表达式的结果类型,以及各个 case 表达式中子表达式的结果类型都是有要求的。 毕竟,在 Go 语言中,只有类型相同的值之间才有可能被允许进行判等操作。 1. switch 类型和 case 类型不匹配 1.1 switch 类型和 case 类型不能转换场景 package main import "fmt" func main() { value1 := [...]int8{0, 1, 2, 3, 4, 5, 6} switch 1 + 3 { // 这条语

wohu1104的专栏 1654

Golang 基础(八)Switch case语句

【代码】Golang 基础(八)Switch case语句。

oWaitfor的博客 573

大模型训练方法全面解析:SFT、RFT、TRPO、DPO、PPO、GRPO、RLH、RLHF技术深度剖析

大模型训练方法全面解析 本文系统介绍了当前主流的大模型训练和对齐技术,包括监督微调(SFT)、拒绝采样微调(RFT)、信任域策略优化(TRPO)、直接偏好优化(DPO)、近端策略优化(PPO)等。这些方法各有特点:SFT简单高效但数据依赖性强;RFT通过质量筛选提升输出质量;TRPO训练稳定但计算复杂;PPO是RLHF核心算法,平衡探索与利用。文章详细分析了各方法的实现原理、优势劣势及适用场景,为开发者选择合适的大模型训练策略提供参考。

2799

C# 开发 WPS 插件实战:从环境搭建到功能实现(附完整代码)

本文提供了一份详尽的C#开发WPS插件实战指南,涵盖从环境搭建到功能实现的完整流程。通过COM技术,开发者可以创建自定义插件,为WPS Office扩展自动化功能,如文档处理与格式转换。文章包含核心概念解析、Ribbon界面集成、调试部署方法及完整代码示例,帮助开发者快速上手。

rust6ferris的博客 928

switch case 多个条件_Golang语言基础教程:switch分支语句

一、程序的流程结构程序的流程控制结构一共有三种:顺序结构,选择结构,循环结构。二、条件语句switch语句:“开关”switch是一个条件语句,它计算表达式并将其与可能匹配的列表进行比较,并根据匹配执行代码块。它可以被认为是一种惯用的方式来写多个if else子句。switch 语句用于基于不同条件执行不同动作,每一个 case 分支都是唯一的,从上直下逐一测试,直到匹配为止。switch 语句执...

weixin_35435986的博客 3424

如何利用MATLAB建立Lotka-Volterra模型及其改进模型

今天我们要说的就是利用MATLAB对常微分方程进行数值求解的实例应用-Lotka-Volterra模型及其改进模型。20世纪40年代,Lotka(1925)和Volterra(1926)奠定了种间竞争关系的理论基础,他们提出的种间竞争方程对现代生态学理论的发展有着重大影响。

Nick的博客 2万+

1个案例彻底弄懂 Go语言中的switch case语句 (Golang经典编程案例)

案例1:根据用户输入的月份,打印该月份所属的季节。 package main import ( "fmt" ) func main() { //根据用户输入的月份,打印该月份所属的季节 var month byte fmt.Print("请输入月份:") fmt.Scanln(&month) switch month { case 3, 4, 5: fmt.Pri...

数据知道的博客 4万+

基于Freertos与lwip移植FreeModbusTcp协议

基于FreeRTOS的N32G457VEL7之LWIP网络协议栈移植-优快云博客。

Dd_456456的博客 3239

Avellaneda & Stoikov模型实战解析:如何动态调整做市策略参数

本文深入解析Avellaneda & Stoikov模型在动态调整做市策略参数中的应用,重点探讨库存状态、剩余时间、风险系数和订单深度等核心参数的实战技巧。通过加密货币市场的实际案例,展示如何根据市场波动和流动性动态调整参数,提升做市策略的盈利能力和风险控制水平。

weixin_29070861的博客 203

golang中switch语句的case无需break

在使用switch结构时,我们需要注意以下几点: 示例 i := 0 switch i{ case 0: fmt.Printf("0") fallthrough case 1: fmt.Printf("1") case 2: fallthrough case 3: fmt.Printf("3") case 4, 5, 6: fmt.Printf("4, 5, 6") default: fmt.Printf("Default") } 1.左花括号{必须与s.

格物致知的专栏 [音视频编解码 网络协议 计算机视觉 计算机图形学 图像理解 语音识别 机器学习 模拟电路 传感器] 4212

西门子SMART PLC增量式PID(完整梯形图FC)

西门子PLC自带的PID指令是基于位置型的PID,位置型PID的算法公式和详细介绍,大家可以参看《PID专栏》的其它文章,这里不再赘述。本篇博文直接给出代码部分的讲解,不设计太多公式和理论的推导。限于本人能力,文中难免出现错误和不足之处,诚恳欢迎大家的批评和指正。同时感谢大家的订阅和关注。SMART200 PLC系统自带的PID指令解析,可以参看下面这篇文章:SMART PLC PID算法基本解析(附公式)_RXXW_Dor的博客-优快云博客_plc的pid算法在态运行中,控制器调节输出值,使偏差 (e

RXXW_Dor的博客 8149

Go语言示例 --7switch/case语句

1. switch/case语句 switch.go源代码定义switch/case语句的使用。 package main import "fmt" func main(){ i := 7%2 switch i{ case 0: fmt.Println("7 is even") default: fm...

林微的博客 345

【系统架构设计师】二十六、论文写作要点

论文写作概述:时间所需120分钟;题目可四选一,必有一题考察软件架构,总有一款适合你;考察形式是机试(开心,再也不用担心字丑了),约2500字。

帅次的博客 4600

UI渲染顺序:合批为何被拆碎?

在 Hierarchy 中,避免出现:Image(列表1) → Text(列表1) → 特效 → Image(列表2) → Text(列表2)…若可行,在逻辑上把布局组织成“同类元素集中”:例如:列表行中,Image 集中、Text 集中;或者接受 Text 本身就拆出一批,关键是不要在 Text 中间再插入别的材质。现实中不一定能做到完美的“所有 Image 连在一起”,但你会有一个意识:同一 Canvas 内,如果你把不同材质的元素交错穿插,

本博客聚焦游戏开发技巧、创业实战心得及大学热门课程干货。这里既有技术深度,也有思维广度,无论你是开发者、创业者还是高校学子,都能在这里找到适合自己的成长之路! 87

vb switch case语句_11. Go语言流程控制:switchcase 选择语句

点击上方“Go编程时光”,选择“加为星标”第一时间关注Go技术干货!系列导读01. 开发环境的搭建(Goland & VS Code)02. 学习五种变量创建的方法03. 详解数据类型:整形与浮点型04. 详解数据类型:byte、rune与string05. 详解数据类型:数组与切片06. 详解数据类型:字典与布尔类型07. 详解数据类型:指针08. 面向对象编程:结构体与继承0...

weixin_39708737的博客 1090

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

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

Go语言switch语句使用指南:1.基本语法用于匹配固定值;2.支持在条件前写表达式,变量作用域限于switch块;3.一个分支可匹配多个值;4.分支可包含表达式实现复杂判断;5.默认不穿透,如需穿透需显式使用fallthrough。与JavaScript不同,Go的switch会自动终止无需break,语法更简洁灵活。

分享前端工程化、AI 应用、Agent 开发与大模型实践! 583

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

switch case可以同时满足两个或多个吗_Golang语言基础教程:switch分支语句

一、程序的流程结构程序的流程控制结构一共有三种:顺序结构,选择结构,循环结构。二、条件语句switch语句:“开关”switch是一个条件语句,它计算表达式并将其与可能匹配的列表进行比较,并根据匹配执行代码块。它可以被认为是一种惯用的方式来写多个if else子句。switch 语句用于基于不同条件执行不同动作,每一个 case 分支都是唯一的,从上直下逐一测试,直到匹配为止。switch 语句执...

weixin_39797693的博客 1万+

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

go语言选择语句 switch case

根据传入条件的不同,选择语句会执行不同的语句。下面的例子根据传入的整型变量i的不同而打印不同的内容: switch i { case 0: fmt.Printf("0") case 1: fmt.Printf("1") case 2: fallthrough case 3: fmt

逝无痕——kaidy 5061

switch中case后可以是表达式吗_Go 经典入门系列 10:switch 语句

点击上方蓝色“Go语言中文网”关注,每天一起学 Go这是 Golang 系列教程 中的第 10 篇。switch 是一个条件语句,用于将表达式的值与可能匹配的选项列表进行比较,并根据匹配情况执行相应的代码块。它可以被认为是替代多个 if else 子句的常用方式。看代码比文字更容易理解。让我们从一个简单的例子开始,它将把一个手指的编号作为输入,然后输出该手指对应的名字。比如 0 是拇指,...

weixin_39649611的博客 2326

Go语言每天一篇(day78)----switch...case语句

一、今日题目: 关于switch语句,下面说法正确的是? A. 单个case中,可以出现多个结果的选项; B. 需要使用break来明确退出一个case; C. 只有在case中明确添加fallthrought关键字,才会继续执行紧跟的下一个case; D. 条件表达式必须为常量或者整数。 下面代码能编译通过嘛?可以个话,输出什么? func main() { switch always...

lili9415的博客 623

golang_switch:go中switch的用法介绍

基础语法: 第一种:有表达式 switch 表达式{ case 值1,值2: //case后的条件可以是多个值 执行语句1 case 值3: 执行语句2 ...... default: //若以上条件都不满足,则执行下面的语句 执行语句n } 第二种:无表达式 switch 表达式{ case 条件1: 执行语句1 case 条件2: 执行语句2 ...... default...

Grayan的博客 1064

4.4 Go语言switch case语句

Go语言的 switch 要比C语言的更加通用,表达式不需要为常量,甚至不需要为整数,case 按照从上到下的顺序进行求值,直到找到匹配的项,如果 switch 没有表达式,则对 true 进行匹配,因此,可以将 if else-if else 改写成一个 switch。 相对于C语言和 Java 等其它语言来说,Go语言中的 switch 结构使用上更加灵活,语法设计尽量以使用方便为主。 基本写法 Go语言改进了 switch 的语法设计,case 与 case 之间是独立的代码块,不需要通过 break

success_zxc的博客 788

case里面两个条件_Go语言条件语句之 switch 语句

点击上方蓝色 “铁匠学编程” 关注我,让我们一起学习! switch语句会根据传入条件不同,选择不同的分支执代码进行执行,他可以代替多个 if else 子句,Go 语言的分支语句和 PHP 的类似,Go 不需要显示的通过break 进行退出。package mainimport "fmt"funcmain(){ score := 100 switch { case sc...

weixin_39755853的博客 1236

Go语言之条件判断循环语句(if-else、switch-case、for、goto、break、continue)

if-else、switch-case、for、goto、break、continue

Sheena997的博客 2061
上一篇: golang 结构体和数据库表字段 反射自动映射 sqlmapper库 简介
下一篇: golang struct 动态创建
whatday
博客等级 码龄20年 4470粉丝 96原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值