Swift语法特性
- 不用编写main函数,Swift将全局范围内的首句可执行代码作为程序入口
- 一句代码尾部可以省略分号(;),多句代码写到同一行时必须用分号(;)隔开
- 用var定义变量(变量可以多次赋值),let定义常量(常量不可以多次赋值),编译器能自动推断出变量\常量的类型
- Playground可以快速预览代码效果,是学习语法的好帮手
- Command + Shift + Enter:运行整个Playground
- Shift + Enter:运行截止到某一行代码
-------------------------------------------------------------------------------------------------------------------------------
Playground文件
Playground文件可以帮我们快速编写代码和展示效果
加载UIView代码示例:
加载图片代码示例:
加载ViewController代码示例:
多page示例:
-------------------------------------------------------------------------------------------------------------------------------
Playground注释
- Playground的注释支持markup语法(与markdown类似)
- 开启markup渲染效果:Editor-->Show Rendered Markup
- Markup只在Playground中有效
- Markup语法:
-------------------------------------------------------------------------------------------------------------------------------
常量
- 只能赋值1次
- 它的值不要求在编译时期确定,但使用之前必须赋值1次
- 下面代码是错误的
- 常量、变量在初始化(赋值)之前,都不能使用
- 没有指明类型会报错
-------------------------------------------------------------------------------------------------------------------------------
标识符
- 标识符(比如常量名、变量名、函数名)几乎可以使用任何字符
- 标识符不能以数字开头,不能包含空白字符、制表符、箭头等特殊字符
-------------------------------------------------------------------------------------------------------------------------------
常见数据类型
值类型(value type) | 枚举(enum) | Optional |
结构体(struct) | Bool、Int、Float、Double、Character | |
String、Array、Dictionary、Set | ||
引用类型(reference type) | 类(class) |
- 整数类型:Int8(8bit,1字节)、Int16(16bit,2字节)、Int32、Int64、U(unsigned的简称)Int8、UInt16、UInt32、UInt64
- 在32bit平台,Int等价于Int32, 在64bit平台,Int等价于Int64
- 整数的最值:UInt8.max、Int16.min
- 一般情况下,都是直接使用Int即可
- 浮点类型:Float,32位,精度只有6位;Double,64位,精度至少15位
-------------------------------------------------------------------------------------------------------------------------------
字面量
整数和浮点数可以添加额外的零或者添加下划线来增强可读性:100_0000、 1_000_000.000_000_1、 000123.456
-------------------------------------------------------------------------------------------------------------------------------
类型转换
需要占位少的转换成占位多的
有明确类型的值不能直接相加,需要转换
-------------------------------------------------------------------------------------------------------------------------------
元组(tuple)
1. 为元组赋予不同类型的值,并通过.语法获得
2. 将元祖赋值给常量,通过常量名直接获取值
3. 将元祖的"Not found"弃用,只保留404
4. 将元祖的值赋予名字,通过名字获取值