基础语法
-
Swift句末不需要分号,但是要把多行代码放在一行的时候中间需要加分号
-
和C++类似,注释采用// 或/* */
-
Swift拥有3种对象类型:类、结构体与枚举。
-
定义变量时采用let或者var关键字
-
根据约定,String,Int等结构名采用首字母大写,变量名采用首字母小写
-
名为main.swift的文件可以在顶层包含可执行代码,可以通过main.swift文件来构建应用,不过一般来说没必要这么做
-
采用 import语句来导入模块
-
显式的使用self可以提高程序的可读性与可理解性
-
类中私有属性采用private变量
-
对象并不是孤立的。对象之间可以合作,这叫作通信,方式则是发送消息。
-
通信途径是多种多样的。对此做出妥善的安排(即架构),从而实现对象之间的协作、有序的关系是基于对象编程最具挑战性的一个方面。
-
要想将参数标记为可变参数,参数后要跟着3个点
-
函数结构
func sum (x: Int, _ y: Int) -> Int
{
let result = x + y
return result
}
-
函数可以外化其参数名。 外部名称要作为实 参的标签出现在对函数的调用中。
-
要想外化参数名,在函数声明中将外部名字放在内部参数名之前,中间用空格隔开。外部名字可以与内部名字相同,也可以不同。
-
想要外化第1个参数名,将外部名放到内部名之前。这两个名字可以相同。
-
想要修改除第1个参数外的其他参数的外部名,将所需的外部名放到内部名之前。
-
想防止对除第1个参数外的其他参数进行外化,请在其前面加上一个下划线和一个空格
-
具有相同签名和不同外部参数名的两个函数并不构成重载;由于函数有着不同的外部参数名,因此它们是名字不同的两个不同函数。
-
要想提供默认值,在声明中的参数类型后追加一个=号和默认值
-
要想将参数标记为可变参数,参数后要跟着3个点
-
Swift语言中没办法将数组转换为逗号分隔的参数列表。如果一开始就有一个某种类型的数组,那么你不能在需要该类型可变参数的地方使用它。
-
在函数体中,参数本质上是个局部变量,默认情况下无法对其赋值。如果要对参数赋值,需要显性对使用var参数。
-
如果希望函数能修改传递给他的实参,需要进行三步工作:要修改的参数必须声明为inout。·在调用时,持有待修改值的变量必须要声明为var,而不是let;要在变量前加上&符号以传递变量地址而不是变量。
-
局部函数是带有函数值的局部变量。因此,局部函数不能与相同作用域中的局部变量同名,相同作用域中的两个局部函数也不能同名。