当前位置: 代码迷 >> 综合 >> 知识点12:区间
  详细解决方案

知识点12:区间

热度:34   发布时间:2023-09-29 18:49:25.0
  • 闭区间运算符:a...b, a <= 去值 <= b。
let names = ["ZhangSan","LiSi","WangWu","ZhaoLiu"]for i in 0...3 {print(names[i])//ZhangSan、LiSi、WangWu、ZhaoLiu
}let range = 1...3for i in range {print(names[i])//LiSi、WangWu、ZhaoLiu
}let arrayFirst = 0
let arrayLast = 3for i in arrayFirst...arrayLast {print(names[i])//ZhangSan、LiSi、WangWu、ZhaoLiu
}for var i in 1...3 {i += 5print(i)//6、7、8
}for _ in 1...3 {print("Hello !")//Hello !、Hello !、Hello !
}
  • 半开区间运算符:a..<b, a <= 去值 < b。
for i in 1..<5 {print(i)//1 2 3 4
}
  • 单侧区间:让区间朝一个方向尽可能的远。

let names = ["ZhangSan","LiSi","WangWu","ZhaoLiu"]for name in names[2...]{print(name)//WangWu ZhaoLiu
}for name in names[...2]{print(name)//ZhangSan LiSi WangWu
}for name in names[..<2]{print(name)//ZhangSan LiSi
}
  • 区间类型 
//闭区间、半开区间、单侧区间
let rangeA:ClosedRange<Int> = 1...5let rangeB:Range<Int> = 1..<5let rangeC:PartialRangeThrough<Int> = ...5//contains方法:范围内是否包含某个值。
let range = ...5
range.contains(7)//false
range.contains(4)//true
range.contains(-3)//true//字符、字符串也能使用区间运算符。let stringRange = "cc"..."ff"
stringRange.contains("cf")//true
stringRange.contains("df")//true
stringRange.contains("fg")//false//ASCII字符
let chaacterRange:ClosedRange<Character> = "\0"..."~"
  •  带间隔的区间值
for item in stride(from: 4, through: 10, by: 2) {print(item)//4 6 8 10
}

  相关解决方案