您的位置:首页 > 移动开发 > Swift

swift 字符、元组、随机数、区间运算、操作符重载——swift学习(三)

2016-05-18 18:12 459 查看

字符:Character

这个是swift的新类型:

//字符:Character
var ch:Character = "$"
print("\(ch)")


元组

把多个任意类型组合成一个类型,可以内容分解,也可以只适用一部分

//元组
let yuanzu = (x:401,y:"服务器异常")
print("\(yuanzu.x):\(yuanzu.y)")
let (x1,y1) = yuanzu
print(x1)
print(y1)
let (x2,_) = yuanzu
print(x2)


随机数

arc4random()和arc4random_uniform(x)

//随机数:arc4random()
//生成1~100之间的随机数
var arc:Int = Int(arc4random()%100)+1
print(arc)
//生成1~1000之间的随机数
var arc2:Int = Int(arc4random_uniform(1000))+1
print(arc2)


区间运算符

区间运算符包括闭区间和开区间,与集合差不多

//区间运算符
//1、闭区间:a...b
for item1 in 512...515{
print(item1)
}
//2、半闭区间
for item2 in 1..<5{
print(item2)
}
//3、字符串range
let item3 = "Hangge.com"
//->不使用区间运算符
let index = item3.startIndex.advancedBy(4)
let index2 = item3.startIndex.advancedBy(6)
let range1 = Range<String.Index>(start: index, end: index2)
let rangeStr = item3.substringWithRange(range1)
print(rangeStr)
//->使用区间运算符
let range2 = item3.startIndex.advancedBy(4)..<item3.startIndex.advancedBy(6)
let rangeStr2 = item3.substringWithRange(range2)
print(rangeStr2)
//4、Comparable
let interval = "a"..."z"
for c in item3.characters{
if !interval.contains(String(c)){
print("\(c)不是小写字母")
}
}


重载运算符

重载运算符和c++是一样的,就是让自定义类型也能够像基础数据类型一样进行运算

//重载运算符
//1->重载+运算符
struct CPoint{
var x=0,y=0
}
func +(left:CPoint,right:CPoint) -> CPoint {
return CPoint(x:left.x+right.x,y:left.y+right.y)
}
let point1 = CPoint(x:2,y:3)
let point2 = CPoint(x:4,y:5)
let point3 = point1+point2
print("\(point3.x):\(point3.y)")
//2->重载判断运算符
func ==(left:CPoint,right:CPoint)->Bool{
return (left.x == right.x) && (left.y == right.y)
}
func !=(left:CPoint,right:CPoint) -> Bool {
return !(left == right)
}
print("\(point1==point2)")
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  swift 元组