- 语句间可以没有分号
- 基本数据类型
UInt :无符号整数
- 字面量
字面量(literal)是用于表达源代码中一个固定值的表示法(notation)
1.整型:
二进制数,前缀是0b
八进制数,前缀是0o
十六进制数,前缀是0x
例如 let binaryInteger = 0b10001 // 二进制的17
2.浮点型:
浮点字面量可以是十进制(没有前缀)或者是十六进制(前缀是0x)
指数在十进制浮点数中e来指定,在十六进制浮点数中p(相当于基数和2^exp的乘)来指定
例如 1.25e-2 表示 1.25 × 10^-2,等于 0.0125
0xFp2 表示 15 × 2^2,等于 60.0
3.整数和浮点数都可以添加额外的零并且包含下划线,并不会影响字面量
例如 let justOverOneMillion = 1_000_000.000_000_1
- 常量、变量、运算符
常量用let (常量是不可改变的值)
变量用var (变量定义时要赋初值)
变量名 第一个字母小写 后面的单词每个首字母大写 lowerComeClose
可以用中文
- 类型
常量或变量的类型是在变量名后
:类型名=值
类型可有可无
例如 let 循环次数:Int = 50
- 类型强制转化
例子 1,常量 twoThousand 的类型是UInt16 ,而常量 one 的类型是 UInt8 。他们不能直接被相加在一起,因为他们的类型不同。所以,这里让 UInt16 (one ) 创建一个新的 UInt16 类型并用 one 的值初始化
2,用浮点数初始化一个新的整数类型的时候,数值会被截断。也就是说 4.75 会变成 4 , -3.9 会变为 -3
- 类型别名
用 typealias 关键字定义类型别名
例 typealias AudioSample = UInt16
var maxAmplitudeFound = AudioSample.min
// maxAmplitudeFound is now 0
- 元组(tuple):用于函数返回多个值
1,元组把多个值合并成单一的复合型的值。
例
let http404Error = (404, "Not Found") // http404Error is of type (Int, String), and equals (404, "Not Found") |
2,可以使用下标访问元组元素
print(“code is /(http404Error.0)”)
3, 可以在定义元组的时候给其中的单个元素命名:
1 | let http200Status = (statusCode: 200, description: "OK") |
在命名之后,你就可以通过访问名字来获取元素的值了:
1 2 3 4 | print("The status code is \(http200Status.statusCode)") // prints "The status code is 200" |
- 运算符:包含c语言
1,Swift 同时也提供两个等价运算符( === 和 !== ),可以使用它们来判断两个对象的引用是否相同。
2,范围运算符
a…b ab范围内包括ab
a..<b 含a 不含b
3,取余%可对负数
4,逻辑运算符的操作数必须是Bool类型
5,nil表示值不存在
6,??合并运算符 作用于两个操作数
左边为可选量,
- 数组类
定义Array<Type>或 [Type]
例 var allStudents:[String]=[“john”,”Kenny”,”Wendy”,”Kim”]
- 字典类
定义Dictionary<keyType,valueType>或 [keyType:valueType]