IOS  Swift基础之switch用法详解

发布时间 - 2026-01-10 23:15:12    点击率:

IOS  Swift基础之switch用法详解

概述

Swift中的switch语句与Java等语言中的switch有很大的相似点,但是也有不同的地方,并且更加灵活。

Swift中switch的case语句中不需要添加break

Swift中需要考虑所有情况,default是必要的。

case分支可以添加多个条件,用,分割

case不局限与常量,可以使使用范围

switch里可以使用元组

switch默认不需要添加break,执行一个case之后就跳出语句,如果想要继续下面的语句可以使用fallthrough,但是fallthrough是直接进入下一个case的语句,不会进行case的判断。感觉这里好坑。

实例代码

1、不需要break,case里多个值用,分割。default不能省略

let name = "yangqiangyu"

switch name{
case "yangqiangyu","yqy":
  print("This is my name")
default:
  print("This is not my name");
}


//"This is my name\n"

2、case条件里用范围表达式

let score = 90;

switch score{
case 0:
  print("you got an egg")
case 1..<60:
  print("you failed")
case 60:
  print("Just passed")
case 61..<80:
  print("Just so so")
case 80..<90:
  print("Good")
case 90..<100:
  print("Great")
case 100:
  print("Perfect!")
default:
  print("Error")
}

//输出结果:"Great\n"

3、switch使用元组

let point:(x:Int,y:Int) = (x:1,y:1)
switch point{
case (0,0):
  print("It's a origin")
case (_,0)://忽略point中的x值
  print("It's on x-axis.")
case (0,_)://忽略point中的y值
  print("It's on y-axis")
default:
  print("It's just an ordinary point")
  break
}

//输出结果:
"It's just an ordinary point\n"

4.switch中的case中需要使用元组中的值

let point2 = (8,0)
switch point2{
case (0,0):
  print("It's a origin")
case (let x,0)://赋值给x
  print("It's on x-axis.")
  print("The x value is \(x)")
case (0,let y)://赋值给y
  print("It's on y-axis")
  print("The y value is \(y)")
case (let x,let y):
  print("The x value is \(x)")
  print("The y value is \(y)")
}

//输出结果:
"It's on x-axis.\n"
"The x value is 8\n"

5.fallthrough使用

let score = 90;

switch score{
case 0:
  print("you got an egg")
case 1..<60:
  print("you failed")
case 60:
  print("Just passed")
case 61..<80:
  print("Just so so")
case 80..<90:
  print("Good")
case 90..<100:
  print("Great")
   fallthrough
case 100:
  print("Perfect!")
default:
  print("Error")
}

//输出
"Great\n"
"Perfect!\n"

总结

可以发现,Swift中的switch更加灵活和简洁,使用switch可以方便的处理很多操作。

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!


# IOS  # Swift  # switch  # switch详解  # switch教程  # 学习iOS开关按钮UISwitch控件  # Android UI设计系列之自定义SwitchButton开关实现类似IOS中UISwi  # 详解iOS App中UISwitch开关组件的基本创建及使用方法  # iOS开发中UISwitch按钮的使用方法简介  # 多个  # 不需要  # 可以使用  # 也有  # 希望能  # 谢谢大家  # 中不  # 直接进入  # 里用  # 组中  # 相似点  # brush  # class  # br  # pre  # print  # default  # yqy  # cpp  # yangqiangyu 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: Linux系统运维自动化项目教程_Ansible批量管理实战  非常酷的网站设计制作软件,酷培ai教育官方网站?  郑州企业网站制作公司,郑州招聘网站有哪些?  如何在香港服务器上快速搭建免备案网站?  香港服务器建站指南:免备案优势与SEO优化技巧全解析  Laravel用户认证怎么做_Laravel Breeze脚手架快速实现登录注册功能  Laravel怎么多语言本地化设置_Laravel语言包翻译与Locale动态切换【手册】  Laravel如何实现API版本控制_Laravel API版本化路由设计策略  Laravel如何获取当前用户信息_Laravel Auth门面获取用户ID  如何快速搭建二级域名独立网站?  HTML透明颜色代码在Angular里怎么设置_Angular透明颜色使用指南【详解】  如何在HTML表单中获取用户输入并用JavaScript动态控制复利计算循环  Laravel如何使用Service Provider服务提供者_Laravel依赖注入与容器绑定【深度】  Laravel如何使用.env文件管理环境变量?(最佳实践)  Java解压缩zip - 解压缩多个文件或文件夹实例  Laravel Sail是什么_基于Docker的Laravel本地开发环境Sail入门  JavaScript如何实现音频处理_Web Audio API如何工作?  EditPlus中的正则表达式 实战(2)  Laravel怎么实现搜索高亮功能_Laravel结合Scout与Algolia全文检索【实战】  Laravel如何使用Laravel Vite编译前端_Laravel10以上版本前端静态资源管理【教程】  Laravel如何使用Blade组件和插槽?(Component代码示例)  网站制作壁纸教程视频,电脑壁纸网站?  晋江文学城电脑版官网 晋江文学城网页版直接进入  Laravel表单请求验证类怎么用_Laravel Form Request分离验证逻辑教程  网站制作软件有哪些,制图软件有哪些?  php结合redis实现高并发下的抢购、秒杀功能的实例  Laravel如何实现登录错误次数限制_Laravel自带LoginThrottles限流配置【方法】  laravel服务容器和依赖注入怎么理解_laravel服务容器与依赖注入解析  黑客入侵网站服务器的常见手法有哪些?  Laravel如何使用Eloquent进行子查询  韩国代理服务器如何选?解析IP设置技巧与跨境访问优化指南  ,在苏州找工作,上哪个网站比较好?  如何实现javascript表单验证_正则表达式有哪些实用技巧  Win11怎么关闭透明效果_Windows11辅助功能视觉效果设置  JS弹性运动实现方法分析  北京网站制作的公司有哪些,北京白云观官方网站?  使用C语言编写圣诞表白程序  Laravel怎么创建控制器Controller_Laravel路由绑定与控制器逻辑编写【指南】  Laravel如何生成PDF或Excel文件_Laravel文档导出工具与使用教程  Laravel如何使用Livewire构建动态组件?(入门代码)  新三国志曹操传主线渭水交兵攻略  如何用PHP工具快速搭建高效网站?  JavaScript中的标签模板是什么_它如何扩展字符串功能  Win11任务栏卡死怎么办 Windows11任务栏无反应解决方法【教程】  北京企业网站设计制作公司,北京铁路集团官方网站?  Laravel如何配置Horizon来管理队列?(安装和使用)  中山网站推广排名,中山信息港登录入口?  JavaScript实现Fly Bird小游戏  香港服务器选型指南:免备案配置与高效建站方案解析  Laravel如何理解并使用服务容器(Service Container)_Laravel依赖注入与容器绑定说明