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

字符: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)")
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值