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

Swift:(二)、元祖、可选类型、运算符、字符串和字符

2018-03-02 16:45 549 查看
//1、元组:把多个值组合成一个复合值//特点:元组中的值可以放多个类型//(1)元组的写法:let dog = (age:5,name:"阿毛",gender:"女")//(2)、元组的类型//(Int,String,String,Bool,Double)//(3)、元素分解值let (age,name,gender) = dog//(4)、简化写法:let (age1,name1,_) = dog//(5)、元组的访问:print(dog.age)print(dog.0)
print("这条狗的名字是:" + String(dog.age))print("这条狗的名字是:\(dog.1)")
//2、可选类型:用于处理值缺失或不存在的情况let number:Int? = nilprint(number ?? 3)
var Name:String?//默认为空Name = "doudou"
if Name != nil{    print("值为空")}else{    print("值不为空")}
//3、可选值绑定:通过if判断确定可选值是否有值,如果有值通过绑定到新的常量或变量if let newName = Name{    print(newName)}else{    print("获取不到newname")}
//4、隐式可选类型:var Name1:String! = "dsgdf"let newName1:String = Name1!
//5、错误处理:func canThrowAnError() throws{    }
do {    //事务    try canThrowAnError()    //没有错误信息}catch{    //回滚    //有错误信息}
//二、运算符:
//1、sorry 赋值运算符 “=”let a = 2var b = 5b = 20
let (m,n) = (1,2)
//和c、OC的赋值不同,swift的赋值不会返回任何值//if m = n{//    //}//2、算术运算符:+ - * / % += -= *= /=
let c = (23 * 2 - 3 + 4) / 2.0let d = 9 % 1
var e = 3e += 4
print(c)
//3、比较运算符== 、!= > < >= <=//===全等(恒等 )!= 判断是否引用的是同一对象的实例if 1 > 1{    }else{    }
//4、三目运算符: (条件)表达式 ? 表达式1 : 表达式2//作用:代码简洁let height = 20let isHeader = truevar rowHeight = height + (isHeader ? 50 : 20)
if isHeader{    rowHeight = height + 50}else{    rowHeight = height + 20}
//作业:输出两个数的最大值(使用三目运算符)
//5、空合运算符://写一个可选值类型:let Cat1:String? = nilprint(Cat1 ?? "小猫咪")
let  defualtColor = "red"var NewColorName:String?//可选值为nil,使用的是重新给定的默认值var clolor = NewColorName ?? defualtColor
//可选值不为空,使用的是默认可选值var newColorName:String? = "green"clolor = newColorName ?? defualtColor
//6、区间运算符:(a...b)for i in 1...5{    print("\(i) * 5 = \(i * 5)")}//作业:打印9*9乘法表
let className = ["huangjingzheng","caoyiyang","caodoudou","jiadongliang","lipengcheng","yuanlyin"]let count = className.countfor m in 1...count {    print(className[m - 1])}
//作业:班级学生的姓名便利,使用两种方式输出
//7、逻辑运算:逻辑与&& 逻辑或|| 逻辑非!let isEmpty = falseif !isEmpty{    print("是真")}
let isOpen = true
if !isEmpty && isOpen {    print("是真")}else{    print("是jia")}
//作业:练习逻辑或 逻辑运算符的组合 && || !
//注意:优先级问题if isOpen && (isEmpty || isEmpty) || !isOpen{    }else{    }
//三、字符串和字符://1、字符串:let string = "hello world!"//空字符串:var emptystr = ""//初始化字符串:(使用初始化方法)var emptyString = String()
//判断字符串是否为空:if emptyString.isEmpty{    print("字符串是空的")}print(emptyString.isEmpty)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: