- Swift不要求在每行语句的结尾使用分号(;),但当你在同一行书写多条语句时,必须用分号隔开
- 运算符不能直接跟在变量或常量的后面
- Swift 是一个类型安全(type safe)的语言。
由于 Swift 是类型安全的,所以它会在编译你的代码时进行类型检查(type checks),并把不匹配的类型标记为错误 - 变量声明意思是告诉编译器在内存中的哪个位置上为变量创建多大的存储空间。
-
变量命名
- 变量名可以由字母,数字和下划线组成。
变量名需要以字母或下划线开始。
Swift 是一个区分大小写的语言,所以字母大写与小写是不一样的。
变量名也可以使用简单的 Unicode 字符(汉字)
- 变量名可以由字母,数字和下划线组成。
-
常量
- 常量类似于变量,区别在于常量的值一旦设定就不能改变,而变量的值可以随意更改
- 在程序运行时无法改变其值
---
---
- 区间运算符
//区间运算符
print("闭区间运算符:")
for index in 1...5 {
print("\(index) * 5 = \(index * 5)")
}
print("半开区间运算符:")
for index in 1..<5 {
print("\(index) * 5 = \(index * 5)")
}
-
运算符优先级
- 指针最优,单目运算优于双目运算。
如正负号。 - 先乘除(模),后加减。
- 先算术运算,后移位运算,最后位运算。
请特别注意:1
逻辑运算最后计算
- 指针最优,单目运算优于双目运算。
三元运算符 ?:
- `条件运算符 ? :,可以用来替代 if...else 语句
-
循环控制语句
- continue 告诉一个循环体立刻停止本次循环迭代,重新开始下一次循环迭代.
- break 中断当前循环
- fallthrough: 如果在一个 case 执行完后,继续执行下面的 case,需要使用 fallthrough 关键字
插入值符号"\()"
Unicode
是一个国际标准,用于文本的编码,Swift 的 String 类型是基于 Unicode建立的。你可以循环迭代出字符串中 UTF-8 与 UTF-16 的编码
-
数组
- 修改数组
var someInts = [Int]()
someInts.append(20)
someInts.append(30)
someInts += [40]
- 遍历数组1
for item in someStrs {
print(item)
}
- 遍历数组2
**.enumerate()**
for (index, item) in someStrs.enumerate() {
print("在 index = \(index) 位置上的值为 \(item)")
}
- 合并数组
我们可以使用加法操作符(+)来合并两种已存在的相同类型数组。
isEmpty 属性
通过制度属性 isEmpty 来判断数组是否为空,返回布尔值(true false)
字典:
- 创建字典(键值对)
var someDict = [keyType:ValueType]()
- 访问字典
我们可以根据字典的索引来访问数组元素
var someVar = someDict[key]
- 修改字典
- 移除键值对1
removeValueForKey()
- 移除键值对2
也可以通过指定键的值为 nil 来移除 key-value(键-值)对
- 遍历字典
for (key, value) in someDict {
print("字典 key \(key) - 字典 value \(value)")
}
- 字典转数组
var someDict:[Int:String] = [1:"One", 2:"Two", 3:"Three"]
let dictKeys = [Int](someDict.keys)
let dictValues = [String](someDict.values)