Swif语法基础 要点归纳(一)
来源:互联网 发布:java web长连接 编辑:程序博客网 时间:2024/06/05 18:24
常量和变量
- 用let声明常量
let m = 20
- 用var声明变量
var n = 10
- 类型推导机制
声明常量或变量时,可以不指定常量/变量类型,编译器会根据初始化值自动推导类型,也可以显示指定变量类型:
var str:String = "12345"
var num:UInt = 12
var i:Float = 3.14
数据类型
类型别名
- 可以使用typealias关键字定义类型别名,跟C语言的typedef作用类似
typealiasXXInt = Int;
//给Int类型去了以个别名XXInt
运算符
赋值运算符
- 一对一赋值
vara = 20
varb = a
- N对N赋值
let(x, y) = (10,20)
- 跟C/OC不一样,Swift赋值运算符没有返回值
- OC
inta = 10;
int b = a =20;
//以上赋值语句正确,b = 20
Swift
var b = a =20;
if(a= b) { }
//以上赋值语句错误,b没有值,()中的表达式也没有值,可以防止误用=和==
求余运算符
- 求余结果的符号取决于%左边数字的符号(与C/OC一样)
- 可以对浮点数求余
var z = 8 % 2.5 //0.5
Bool类型
- 在C语言中,0是假,非0是真,在Swift中Bool类型就两种值:
true:真
false:假
- if语句的条件必须是Bool类型
范围运算符
- 范围运算符用来表示一个范围,有2种类型的范围运算符
闭合范围运算符:a…b,表示[a, b],包含a,b
半闭合范围运算符:a..<b,表示[a, b), 包含a,不包含b
forindex in 0..<5{
print(index)
}
溢出运算符
每种数据类型都有自己的取值范围,默认情况,一旦赋值一个超出范围的数值,就会产生编译错误或运行时错误。
- Swift为整形计算提供了5个&开头的益处运算符,可以对超出范围的值进行处理。
&+、&-、&/、&*、&%
上溢出
varx:UInt8= 255;
vary = x &+ 1 //y的值为0
下溢出
varx:Int8= -128;
vary = x &- 1 //y的值为127
除0溢出
varx = 10;
vary = x &/ 0 //y的值为0
varx = 10;
vary = x &% 0 //y的值为0
元组类型
- 什么是元组类型?
元组类型由N个任意类型的数据组成(N >=0)
组成元组类型的数据称为“元素”
varpoint = (x:10.0, y:20.0)
//point有两个元素,x、y是元素名称
letperson = (name: "Job")
//person只有name一个元素
letdata = ()
//空元组
- 元组的访问
用元素名称访问
letvalue = point.x //取值
point.x =30.0//设值
用元组位置访问
letvalue = point.0//取值
point.0= 30.0 //设值
如果用let修饰一个元组,那么该元组为常量,无法修改元素的值
- 元组的输出
可以直接输出元组来查看所有元素的值
print(point)
- 使用细节
可以省略元素名称
varpoint = (10.0,20.0)
letperson = (20,"Job")
可以显式指定元素的类型
letperson:(UInt8,String) = (20,"Job")
peson的第一个元素只能是UInt类型,第二个元素只能是String类型
在显示指定元素类型的情况,不能添加元素名称,下面的语句是错误的
letperson:(UInt8,String) = (age:20, name:"Job")
可以用多个变量接收元组数据
var(x, y) = (20,30)//x是20,y是30
varpoint = (x,y)//point由两个元素组成,分别是20,30
可以将元素赋给多个变量
varpoint = (20,30)
var(x, y) = point //x是20,y是30
可以用_(下划线)忽略某个元素的值,只取出其他元素的值
letperson:(UInt8,String) = (20,"Job")
var(_,name) =person
0 0
- Swif语法基础 要点归纳(一)
- Swif基础语法01
- Swif学习总结 基本数据类型(一)
- 《锋利的jQuery》要点归纳(一) jQuery选择器
- 要点Java5 基础语法
- C++基础语法知识点归纳
- python语法基础归纳(1)
- AWK 学习(一) 基础归纳
- JavaScript基础(一)--基础知识归纳
- Objective-C 2.0 基础要点归纳
- 语法基础(一)
- 基础语法(一)
- 基础语法(一)
- PLSQL 编程基础语法要点
- javascript学习基础要点(一)
- 1.Python基础要点(一)
- 笔试基础归纳-8.17(一)
- C++基础语法知识点归纳II
- Jaxb annotation初步使用
- linux系统中mysql的安装与基本操作(终端操作)
- Windows环境下Android Studio安装教程
- CodeForces#311 B. Pasha and Tea
- idea中配置使用mybatis出现问题BuilderException
- Swif语法基础 要点归纳(一)
- 暑假集训第一次个人赛总结
- iPhone6 适配第三方库Masonry (代码版的Autolayout)
- 数据挖掘方向
- 在C#中??和?分别是什么意思?
- [腾讯]斐波拉契数列
- JSP编程的基本知识
- 服务器返回的各种HTTP状态码介绍
- 国外SketchUp&Photoshop夜景效果图教程e