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


相关推荐: 通义万相免费版怎么用_通义万相免费版使用方法详细指南【教程】  JavaScript如何实现错误处理_try...catch如何捕获异常?  如何快速搭建安全的FTP站点?  html文件怎么打开证书错误_https协议的html打开提示不安全【指南】  香港服务器网站生成指南:免费资源整合与高速稳定配置方案  如何自定义safari浏览器工具栏?个性化设置safari浏览器界面教程【技巧】  利用python获取某年中每个月的第一天和最后一天  佛山企业网站制作公司有哪些,沟通100网上服务官网?  Laravel怎么实现前端Toast弹窗提示_Laravel Session闪存数据Flash传递给前端【方法】  html5如何设置样式_HTML5样式设置方法与CSS应用技巧【教程】  零服务器AI建站解决方案:快速部署与云端平台低成本实践  Laravel如何实现多语言支持_Laravel本地化与国际化(i18n)配置教程  今日头条AI怎样推荐抢票工具_今日头条AI抢票工具推荐算法与筛选【技巧】  如何用景安虚拟主机手机版绑定域名建站?  Laravel如何从数据库删除数据_Laravel destroy和delete方法区别  如何选择PHP开源工具快速搭建网站?  Laravel Octane如何提升性能_使用Laravel Octane加速你的应用  Swift开发中switch语句值绑定模式  Laravel API资源类怎么用_Laravel API Resource数据转换  logo在线制作免费网站在线制作好吗,DW网页制作时,如何在网页标题前加上logo?  制作网站软件推荐手机版,如何制作属于自己的手机网站app应用?  php后缀怎么变mp4格式错误_修改扩展名提示格式不对怎么办【技巧】  如何用wdcp快速搭建高效网站?  百度浏览器网页无法复制文字怎么办 百度浏览器复制修复  简单实现Android文件上传  手机钓鱼网站怎么制作视频,怎样拦截钓鱼网站。怎么办?  Laravel怎么导出Excel文件_Laravel Excel插件使用教程  Python图片处理进阶教程_Pillow滤镜与图像增强  Win11怎么开启自动HDR画质_Windows11显示设置HDR选项  绝密ChatGPT指令:手把手教你生成HR无法拒绝的求职信  Laravel如何使用Blade模板引擎?(完整语法和示例)  标题:Vue + Vuex + JWT 身份认证的正确实践与常见误区解析  Laravel的辅助函数有哪些_Laravel常用Helpers函数提高开发效率  用v-html解决Vue.js渲染中html标签不被解析的问题  Laravel如何实现事件和监听器?(Event & Listener实战)  laravel怎么实现图片的压缩和裁剪_laravel图片压缩与裁剪方法  如何在建站宝盒中设置产品搜索功能?  网站页面设计需要考虑到这些问题  进行网站优化必须要坚持的四大原则  常州企业网站制作公司,全国继续教育网怎么登录?  Laravel Blade模板引擎语法_Laravel Blade布局继承用法  Python数据仓库与ETL构建实战_Airflow调度流程详解  关于BootStrap modal 在IOS9中不能弹出的解决方法(IOS 9 bootstrap modal ios 9 noticework)  Laravel如何集成第三方登录_Laravel Socialite实现微信QQ微博登录  Win11怎么关闭资讯和兴趣_Windows11任务栏设置隐藏小组件  深圳防火门网站制作公司,深圳中天明防火门怎么编码?  javascript中数组(Array)对象和字符串(String)对象的常用方法总结  如何为不同团队 ID 动态生成多个“认领值班”按钮  安克发布新款氮化镓充电宝:体积缩小 30%,支持 200W 输出  Laravel如何配置和使用队列处理异步任务_Laravel队列驱动与任务分发实例