变量[ variable] - 常量[let] 关于关键词的命名swift博采众长, var 不用说明,,很多初学者对let的定义不解,其实就是单词let,听闻let在ruby,shell中都有使用,如此定义常量也不为怪。 常量不占数据空间,编译时转化为二进制数,变量占内存空间,前者速度快。
let emptyArrayLet = [String]()//只能赋值一次
let emptyDictionaryLet = [String: Float]()
let emptyDictionaryVar = [String: Float]()
var emptyArrayVar = [String]()//可变赋值
- 整数 8,16,32和64位的有符号和无符号整数类型,[8位无符号整
数类型是 UInt8 ,32位有符号整数类型是Int32, let uint8min = UInt8.min,此外 特殊的整数类型 Int,长度与当前平台的原生字长相同]
- 浮点数 Double表示64位浮点数 Float 32位浮点数
- 布尔 Bool
- 元组 tuples let 404error = (404, "Not Found")
- 可选类型 如Int? 非Int型即为空 nil
- ... , nil...
以 func 作为前缀。指定函数返回类型时,用返回箭头 -> (一个连字符
后跟一个右尖括号) 后跟返回类型的名称的方式来表示。
enumCompassPoint {
case North
case South
case East
case West
}
- 比较 定义属性用于存储值
符合协议以对某类提供标准功能
类还有如下的附加功能:
继承允许一个类继承另一个类的特征
类型转换允许在运行时检查和解释一个类实例的类型
解构器允许一个类实例释放任何其所被分配的资源
引用计数允许对一个类的多次引用
- 结构体和枚举是值类型
值类型被赋予给一个变量,常数或者本身被传递给一个函数的时候,实际上操作的是其的拷贝 -
类是引用类型 引用类型在被赋予到一个变量、常量或者被传递到一个函数时,操作的是引用,其并不是拷贝。因此,引用的是已存在的实例本身而不是其拷贝。
方法是与某些特定类型相关联的函数 | 类是唯一能定义方法的类型。/
通常下标脚本是用来访问集合(
collection) ,列表(list) 或序列(sequence) 中元素的快捷方式。/
subscript(index: Int) -> Int {
get
{
//返回与入参匹配的Int类型的值
}
set(newValue) {
//执行赋值操作
}
}
闭包表达式是一种利用简洁语法构建内联闭包的方式。