1. 变量与数据类型
a) 数据类型
i. 基本数据类型
整数类型 Int
, UInt
, Int8
, UInt8
, Int16
,UInt16
, Int32
, UInt32
, Int64
, UInt64
实数类型 Double
, CGFloat
字符串 String
集合类型 Array
, Dictionary
, Set
ii. 类型之间的转换(调用目标类型的构造函数)
整数类型 –> 实数类型:
let n: Int = 0
let b = Double(n)
数字类型 -> 字符串类型:
let number = 4
let string = String(number)
b) 变量的声明
i. 基本声明方法
let/var name[: Type][ = Initialization],中括号内表示可省略, 但第一个中括号与第二个中括号内的内容只能省略一处, 除了类成员属性有默认值的情况不需要省略,其他均建议采用省略形式, 如
let number = 1
var string: String?
ii. 使用let声明
表示常量,声明之后只允许有一次赋值, 如
let x = 10
x = 100 //编译不通过
iii. 使用var声明
表示变量, 一次声明,可以多次修改其值, 但效率没有let高
var name = "小明"
///...
name = "大明"
iv. let 与var的区别与使用规则
区别在于前者声明的变量为值不可变,后者值可变,前者效率更高,使用原则:
方法体中,优先使用let, 当需要修改变量值的时候, 根据编译器提示和修改建议进行修改即可
v. 语法糖
适用于Array
,Dictionary
和Optional
, 但写法更简洁,
对于数组, 应该写成
let array: [Int]
而不建议写成
let array: Array<Int>
对于字典, 应该写成
let dict: [String:String]
而不应该写成
let dict: Dictionary<