swift学习笔记 - Range、ClosedRange、CountableClosedRange与CountableRange学习
移动端访问不佳,请访问我的个人博客
在使用swift的过程中字符串操作的时候会用到Range,刚开始使用起来各种别扭,然后发现居然还有
ClosedRange、CountableClosedRange和CountableRange,这下就彻底头疼了,下面简单的描述一下它们的区别
从命名来代码来理解和区分
CountableClosedRange:可数的闭区间CountableRange:可数的开区间ClosedRange:不可数的闭区间Range:不可数的开居间
下面通过代码来理解一下:
// 初始化测试:
// CountableClosedRange: [0,2]
let rangea = 0...2
// CountableRange: [0,2)
let rangeb = 0..<2
// ClosedRange: [0.1,2.1]
let rangec = 0.1...2.1
// Range: [0.1,2.1)
let ranged = 0.1..<2.1
// for循环测试:可数的,可以for循环
// CountableClosedRange:可数的可以for循环,输出0、1、2
for i in rangea {
print(i)
}
// CountableRange:可数的可以for循环,输出0、1
for i in rangeb {
print(i)
}
// for循环测试:不可数的,不能for循环
// ClosedRange:不可数,不能for循环,以下写法会报错
for i in rangec {
print(i)
}
// Range:不可数,不能for循环,以下写法会报错
for i in ranged {
print(i)
}
总结
可以用可数和不可数、闭区间和开区间来理解记忆Range、ClosedRange、CountableClosedRange和CountableRange
可数:可以用于for循环
CountableClosedRangeCountableRange
不可数:不能用于for循环
ClosedRangeRange
闭区间:
CountableClosedRangeClosedRange
开区间:
RangeCountableRange
以上是我总结的
Range、ClosedRange、CountableClosedRange和CountableRange的区别,希望对大家有帮助,如果写的有错误希望大家能指出,谢谢大家的阅读
swift学习笔记 - Range、ClosedRange、CountableClosedRange与CountableRange学习的更多相关文章
- Hadoop源码学习笔记(3) ——初览DataNode及学习线程
Hadoop源码学习笔记(3) ——初览DataNode及学习线程 进入了main函数,我们走出了第一步,接下来看看再怎么走: public class DataNode extends Config ...
- 学习笔记︱Nvidia DIGITS网页版深度学习框架——深度学习版SPSS
DIGITS: Deep Learning GPU Training System1,是由英伟达(NVIDIA)公司开发的第一个交互式深度学习GPU训练系统.目的在于整合现有的Deep Learnin ...
- pandas库学习笔记(二)DataFrame入门学习
Pandas基本介绍——DataFrame入门学习 前篇文章中,小生初步介绍pandas库中的Series结构的创建与运算,今天小生继续“死磕自己”为大家介绍pandas库的另一种最为常见的数据结构D ...
- Cesium学习笔记(七):Demo学习(自由控制飞行的飞机)[转]
https://blog.csdn.net/umgsoil/article/details/74923013# 这是官方的教程Demo,名字叫Use HeadingPitchRoll,顾名思义,就是教 ...
- Java学习笔记(十五)——javadoc学习笔记和可能的注意细节
[前面的话] 这次开发项目使用jenkins做持续集成,PMD检查代码,Junit做单元测试,还会自动发邮件通知编译情况,会将javadoc生成的文档自动发到一个专门的服务器上面,每个人都可以看,所以 ...
- Python学习笔记6-Python中re(正则表达式)模块学习
今天学习了Python中有关正则表达式的知识.关于正则表达式的语法,不作过多解释,网上有许多学习的资料.这里主要介绍Python中常用的正则表达式处理函数. re.match re.match 尝试从 ...
- 201521123103 《java学习笔记》 第十二周学习总结
一.本周学习总结 1.1 以你喜欢的方式(思维导图或其他)归纳总结多流与文件相关内容. 二.书面作业 将Student对象(属性:int id, String name,int age,double ...
- 深度学习Bible学习笔记:第七章 深度学习中的正则化
一.正则化介绍 问题:为什么要正则化? NFL(没有免费的午餐)定理: 没有一种ML算法总是比别的好 好算法和坏算法的期望值相同,甚至最优算法跟随机猜测一样 前提:所有问题等概率出现且同等重要 实际并 ...
- Go学习笔记(三)Go语言学习
这里我就不写具体的教程了,整理了一些很适合入门学习的网站 菜鸟Go入门 http://www.runoob.com/go/go-basic-syntax.html Go 语言的基本数据类型 https ...
随机推荐
- ZOJ 3932 Deque and Balls
There are n balls, where the i-th ball is labeled as pi. You are going to put n balls into a deque. ...
- ZOJ 3932 Handshakes
Last week, n students participated in the annual programming contest of Marjar University. Students ...
- DocumentRoot \
w 有无\的区别. https://httpd.apache.org/docs/2.4/vhosts/examples.html hosts 127.0.0.1 w.w httpd.conf Ser ...
- python的os模块命令
https://www.cnblogs.com/weiyiming007/p/8493913.html
- pandas_datareader.data 和 fix_yahoo_finance 获取金融数据
参考:https://zhuanlan.zhihu.com/p/35360694 1.获取数据 #定义所需要的数据 gafataDict={"谷歌":"GOOG" ...
- LInux进程虚拟地址空间的管理
2017-04-07 脱离物理内存的管理,今天咱们来聊聊进程虚拟内存的管理.因为进程直接分配和使用的都是虚拟内存,而物理内存则是有系统“按需”分配给进程,在进程看来,只知道虚拟内存的存在! 前言: 关 ...
- Python在运维工作中的经典应用之ansible
1.安装ansible wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo curl -o /e ...
- sql server中的孤立用户
此问题出现在数据库的移值上.移值后,数据库的登陆名和数据库用户名孤立,原数据中,用建立的用户名密码登陆可以访问数据库,但是移值后就不能访问了.而且如果您尝试向该登录帐户授予数据库访问权限,则会因该用户 ...
- python web框架 django 用pycharm 添加django项目
用pycharm 创建django项目 用pycharm 启动django 用项目名启动 点击蓝色连接的url 直接跳转到页面 修改 运行django 程序 设置 可以改端口 可以在创建djang ...
- POJ3903Stock Exchange&&POJ1631Bridging signals最长上升子序列 &&POJ1887Testing the CATCHER(最长下降子序列)(LIS模版题)
题目链接:http://poj.org/problem?id=3903 题目链接:http://poj.org/problem?id=1631 题目链接:http://poj.org/problem? ...