摘要:本文将带你了解iOS开发之Swift数据类型、运算符、新增语句等小结,希望本文对大家学IOS有所帮助。
一、基本数据类型
Int、Float、Double、Bool、Character、String(首字母都大写)Array、Dictionary、元组类型(Tuple)、可选类型(Optional) 指定数据类型: [javascript] view plain copy 1. let a:Int = 10 //指定数据类型。 一般不需要指定,会自动判断类型。 (使用时需初始化) 1.1 整形 [javascript] view plain copy 1. //1.1整形 2. let maxInt = Int.max //获取Int类型的最大值 3. let minInt = Int.min 4. 5. let a1 = 10 //十进制 6. let a2 = 0b1010 //二进制以0b开头 7. let a3 = 0o12 //八进制以0o开头 8. let a4 = 0xA //十六进制0x 1.2 浮点 [javascript] view plain copy 1. //1.2浮点型Float,Double 2. let b1 = 0.123 //默认是Double 3. let b2 = 0.123e3 //123.0 1.3 Bool ,跟上主流了。。。。 [javascript] view plain copy 1. //1.3Bool (不是YES/NO了) 2. let c1 = true 3. let c2 = false 1.4 元祖 [javascript] view plain copy 1. //1.4元组. 可以是N个任意类型的数据 2. let tup1 = (age:1,name:"abc",hight:2,jj:0.1) //带元素名称 3. let tup2 = (1,"abc",2,0.1) //省略元素名称 4. 5. var tup3:(Int,String) = (1,"haha") //指定类型. (指定类型后就不能再写元素名称了) 6. 7. var (t1,t2) = tup3 //直接弄2个变量接收元祖 8. var (_,t3) = tup3 //只接收一个 1.5 可选(要么返回该值,要么为nil) [javascript] view plain copy 1. var possibleNumber = "123" 2. var convertedNumber:Int? = possibleNumber.toInt() //转换可能失败. (在类型后面加?表示可选) 3. 4. //获取可选类型的值,需要在后面加上! 5. if convertedNumber != nil{ 6. println("convertedNumber的值为\(convertedNumber!)") 7. } 8. 9. //OC中的nil指向一个不存在的对象, 而Swift中nil不是指针,而是一个缺省值 10. //possibleNumber = nil //普通的变量是不能赋值为nil 11. //convertedNumber = nil //可选类型能赋值为nil, 当没有值时,自动赋值为nil 12. 13. if let my = convertedNumber { 14. println("这是可选绑定!\(my)") 15. } 二、数据的输出格式 && 类型转换 && 类型别名 简化了不少。 [javascript] view plain copy 1. //2.1可以在数字中增加额外的0或_, 增强可读写 2. let d1 = 000123 3. let d2 = 00123.0012300 4. 5. let d3 = 1_2_3 6. //let d4 = _123 //错误 [javascript] view plain copy 1. //2.2类型转换 2. let e1 = 1 3. let e2 = 0.12 4. //let e3 = e1 + e2 //错误, 类型不同不能直接相加 5. let e3 = Double(e1) + e2 //类型转换 类型别名就相当于C中的typedef [javascript] view plain copy 1. //2.3 类型别名 typealias 2. typealias XNInt = Int 3. let test:XNInt = 10 三、新加的几个运算符 3.1 范围运算符,上篇WWDC上用过 [javascript] view plain copy 1. //3.1 范围运算符..< ... 2. for index1 in 1...10{ } //表示闭包[1 10] 3. for index2 in 1..<10{ } //表示半闭合[1 10) 3.2 溢出运算符。(新增加的,可用来处理数据溢出的情况) &+溢出加 &-溢出减 &*溢出乘 &/溢出除 &%溢出余 [javascript] view plain copy 1. let f1 = UInt.max 2. //let f2 = x + 1 //这样写会上溢 3. let f2 = f1 &+ 1 //溢出加. 值为0. 变为溢出后的最小值 4. 5. let g1 = 10 6. //let g2 = g1 / 0 //会报错 7. let g2 = g1 &/ 0 //值为0 8. //let g3 = g1 % 0 //会报错 9. let g3 = g1 &% 0 //值为0 3.3 一些注意的地方 非0即真这种C语言的东西遭淘汰!赋值更加灵活,且赋值没有返回值。 [javascript] view plain copy 1. let (x,y) = (1,2) //整体赋值 2. //if(x = y){ } //这样写是错误的. 能防止将==写成= 3. //if(10){ } //这样写也是错误的. 非0即真已经不适用. 4. if(true){ } 四、流程控制语句 新增加for in语句,同时switch语句更加灵活。 4.1 循环for in [javascript] view plain copy 1. for h1 in 1...10{ 2. println(h1) 3. } 4. 5. for _ in 1..<10{ //不需要用到范围中的值时,直接忽略用_ 6. println("####") 7. } 4.2 标签 (可用来跳出指定循环,了解即可) [java] view plain copy 1. xn: 2. for _ in 1...3 { 3. println("***") 4. for tmp in 1...5{ 5. println("###") 6. //指定退出 7. if tmp == 3{ 8. break xn 9. } 10. } 11. } 4.3 Switch语句 1)与C语言中的不同. 不必每个case下写break,自动break2)每个case后面必须有可执行语句, 否则会报错3)每个case都可以匹配多个条件, 也可以填写一个范围4)switch要保证处理所有的情况,一定加上default.5)case还可以匹配元祖 [java] view plain copy 1. let score = 10 2. switch score{ 3. case 0...3: 4. println("差") 5. case 4,5,6,7: 6. println("良") 7. case 8...10: 8. println("优") 9. default: 10. println("超神") 11. }
本文由职坐标整理并发布,希望对同学们有所帮助。了解更多详情请关注职坐标移动开发之IOS频道!
您输入的评论内容中包含违禁敏感词
我知道了
请输入正确的手机号码
请输入正确的验证码
您今天的短信下发次数太多了,明天再试试吧!
我们会在第一时间安排职业规划师联系您!
您也可以联系我们的职业规划师咨询:
版权所有 职坐标-一站式IT培训就业服务领导者 沪ICP备13042190号-4
上海海同信息科技有限公司 Copyright ©2015 www.zhizuobiao.com,All Rights Reserved.
沪公网安备 31011502005948号