---恢复内容开始---
Swift作为苹果官方推出的IOS开发的推荐语言,在过去的几年间受到了越来越广泛的关注,其实编程的人都知道,不同的编程语言大同小异,掌握一门新的语言关键是了解它与其它语言不同的特性,这几个小节,将会介绍Swift语法的雨常用的C/C++和Java语言不同的地方,如果有不对的地方还是希望大家可以指正。
一、总体上的
第一节,我们会留给那些Swift语言的总体上的特性:
1)Swift一段程序的结束可以用“;”也可以不用“;”,但是苹果的官方文档是不使用“;”的,因此建议不使用“;”比如 :
let maxNum = 100
就可以了,不需要添加“;”
2)Swift语言采用的不是ASCII码,而是采用的Unicode编码格式,因此,变量的声明可以是中文,也可以是表情符号,比如
let 东南大学 = 100
let ?? = 100
都是OK的。
3)查阅文档的方式:
“option”键+选择要查询的变量,方法或者类,点击超链接可以进入文档
如果Xcode没有下载文档会跳转到网页上的官方文档,
在Xcode中下载文档的方式:Xcode——Preference——Download——下载文档
4)对所有不需要的量可以用_代替:
比如元组解包的时候:
let point = (5,2)
let (x,_)=point
那么x的值就是5。
5)逻辑控制中,所有的{ }都不可以省略,哪怕只有一条语句。
二、基本类型
1、常量和变量的声明方式:
常量: let maxNum = 100
变量: var index = 2
上述两种是不显式声明,Swift会自动判断类型,这叫作:typeinference,如果显式声明:
常量: let webSite : String = “Hello”
变量:var a,b,c : Double = 1,2,3
可以同时声明和赋值多个变量,当然我建议不需要显示声明类型,毕竟可以少写一些。
2、赋值
赋值除了常用的那些类型,需要注意的是:
可以用科学计数法: let a = 1.25e-8 表示1.25乘以e的-8次方。
可以用下划线分割:let a = 10_000_000 表示的就是10000000,不过看起来更加方便。
3、类型转换
Swift中没有自动类型转换,需要进行显式类型转换:
let a :Double = 3.0
let b : Float = 0.3
a + b会报错,需要进行类型转换:
let m = a + Double(b)
4、元组
元组合Python中类似,是指可以是不同数据类型的多个数据放在一个元组中,如:
var point = (5,2)
var httpResponse = (404,“Not Found”)
元组的赋值通过解包的方式,
let x = point.0 那么x的值是5,0表示元组的第一个量,
也可以显式定义下标:
var point1 = (x:5,y:2),解包方式也是一样的。
三、逻辑控制
1、if判断
判断条件可以有(),也可以没有(),但是不建议使用()
if imTrue{
print("")
}
else{
print(" ")
}
2、区间运算符
a...b:表示从a到b所有的元素
a..<b:表示从a到b不包括b的所有的元素
3、for循环
两种for循环:
for i in 1...99{
}
和
for var i = 1; i < 100; i++ {
}
4、while循环
while循环和其他语言没有差别,但是没有do-while循环只有repeat-while循环
5、switch-case
switch-case中case后面不需要添加break,因为不会向下执行到下面的语句中,
如果想要跳转到下面的语句需要用fallthrougt关键词,
在最后一个case后面需要添加default,因为swift要求将所有的可能情况列举出来,但是使用区间运算符可以帮助我们完成这一要求。
6、循环可以定义名称
在使用循环的过程中可以对某一重循环定义名称,如:
findAnswer:
for m in 1..30{
for i in 1...30{
if m+i = 30{
print(" ")
break findAnswer
}
}
}
四、字符串
字符串的一些用法查阅文档就可以了,这里要说的是一些特性:
1、在字符串中插入变量:
let y = 1
let x = 2
print(“\(x)+\(y)=\(x+y)”)打印输出的是: 2+1=3
2、在NSString和String通过as进行桥接,这个以后再说