iOS开发之Swift数据类型、运算符、新增语句等小结
白羽 2018-06-22 来源 :网络 阅读 995 评论 0

摘要:本文将带你了解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频道!

 


本文由 @白羽 发布于职坐标。未经许可,禁止转载。
喜欢 | 0 不喜欢 | 0
看完这篇文章有何感觉?已经有0人表态,0%的人喜欢 快给朋友分享吧~
评论(0)
后参与评论

您输入的评论内容中包含违禁敏感词

我知道了

助您圆梦职场 匹配合适岗位
验证码手机号,获得海同独家IT培训资料
选择就业方向:
人工智能物联网
大数据开发/分析
人工智能Python
Java全栈开发
WEB前端+H5

请输入正确的手机号码

请输入正确的验证码

获取验证码

您今天的短信下发次数太多了,明天再试试吧!

提交

我们会在第一时间安排职业规划师联系您!

您也可以联系我们的职业规划师咨询:

小职老师的微信号:z_zhizuobiao
小职老师的微信号:z_zhizuobiao

版权所有 职坐标-一站式IT培训就业服务领导者 沪ICP备13042190号-4
上海海同信息科技有限公司 Copyright ©2015 www.zhizuobiao.com,All Rights Reserved.
 沪公网安备 31011502005948号    

©2015 www.zhizuobiao.com All Rights Reserved

208小时内训课程