import UIKit
/*:
常量变量
* 常量: let
* 变量: var
完整格式:
* 修饰符(let/var) 常量/变量名称: 数据类型
*/
let number: Int
var value: Double
number = 10
value = 20
let n1: Int = 10
// 常量一旦初始化就不能再修改里面的值
//n1 = 20
/*:
类型推导
* 如果在定义一个常量或者变量的同时, 给这个常量或者变量进行了初始化, 那么数据类型可以不写
* 如果在定义的同时初始化, 那么初始化的值是什么类型, 那么常量或者变量就是什么类型
技巧
* 在Swift开发中, 我们最常见的一个操作就是按住 option + click 查看变量/方法的说明
* 在Swift开发中, 能不写类型就不写类型, 减少冗余代码
* 在Swift开发中, 苹果推荐我们先定义常量, 只有需要修改的时候才定义变量
*/
let n2 = 10.1
/*:
数据类型
* Swift是类型安全的语言, 在任何情况下都不会进行自动类型转换(隐式类型转换), 所有的转换都是显示的
* 也就是意味着只有相同类型的值才能进行赋值
*/
let n3: Int = Int(10.1)
let n4: Double = 10
// 哪怕是CGFloat和Double之间也不行, 也必须进行转换
let rect = CGRect(x: 0, y: 0, width: 100, height: 100)
//let n5: Double = rect.width
let n5 = 10
let n6 = 10.1
//let sum = n5 + n6