Swift - 区间运算符(... 和 ..<)

区间运算符可以用来表示两个操作数之间的范围集合。


1,闭区间运算符:a...b
1
2
3
for iCount in 512...1024{
     //从512遍历到1024(包括1024)
}


2,半闭区间运算符:a..<b

1
2
3
4
5
var fruts = ["apple","orange","banana"]
let iCount = fruts.count
for i in 0..<icount{
    println("第\(i+1)个水果是\(fruts[i])")
}


3,字符串范围也可以使用区间运算符

1
2
3
4
5
6
7
8
9
10
11
12
//字符串截取
let words = "Hangge.com"
 
//不使用区间运算符
let index = advance(words.startIndex, 4)
let index2 = advance(words.startIndex, 6)
var range1 = Range<String.Index>(start: index, end: index2)
var rangeStr1 = words.substringWithRange(range1) //ge
 
//使用区间运算符
var range2 = advance(words.startIndex, 4)..<advance(words.startIndex, 6)
var rangeStr2 = words.substringWithRange(range2) //ge


4,区间运算符除了返回一个Range外,还可以接受Comparable的输入,返回ClosedInterval或HalfOpenInterval

所以我们可以用这个特性检查字符串里的字符是不是都是合法字符(比如是不是都是小写)

1
2
3
4
5
6
7
8
9
10
11
let words = "Hangge.com"
        
let interval = "a"..."z"
for c in words {
    if !interval.contains(String(c)){
            println("\(c)不是小写字母")
    }
}
         
//H不是小写字母
//.不是小写字母
posted @   brave-sailor  阅读(554)  评论(0编辑  收藏  举报
编辑推荐:
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
历史上的今天:
2014-09-25 Android 出现警告Exported service does not require permission
2013-09-25 Android中的JSON详细总结
点击右上角即可分享
微信分享提示