Swift简单体验

来源:互联网 发布:mac 更改用户照片 编辑:程序博客网 时间:2024/05/20 22:26

定义常量&变量

// 定义变量var i = 10print(i)i = 15print(i)let j = 20// 常量一经定义不能自改数值//        j = 25print(j)// 两种可选值声明方式let a: Optional = 10let b: Int? = 20print(a)print(b)// 强制解包let c = a! + b!print(c)// 常量定义的时候需要初始化//let d: Int?//print(d)// 变量默认的初始值为nilvar e: Int?print(e)
  • 总结
  • var 定义变量,设置之后可以修改
  • let 定义常量,设置之后不可以修改
  • 语句末尾可以不使用 ;
  • 在 Swift 中使用 print() 替代 OC 中的 NSLog, print 的性能更好

定义 OC 对象

// 实例化视图let v = UIView(frame: CGRectMake(0, 0, 100, 100))// 设置背景颜色v.backgroundColor = UIColor.redColor()// 添加到根视图view.addSubview(v)
  • 总结
  • 在 Swift 中要实例化一个对象可以使用 类名() 的格式,与 OC 中的 alloc/init 等价
  • OC 中的 initWithXXX 在 Swift 中通常可以使用 类名(XXX: ) 找到对应的构造方法
  • OC 中的 [UIColor redColor] 类方法,在 Swift 中通常可以使用 类名.XXX 找到对应的方法
  • 使用 let 修饰 v 并且赋值,表示该常量的内存地址不允许修改,但是可以修改其内部的属性
  • view, 当前对象的属性,不需要使用 self.

变量的类型

let x = 10let y = 10.5       // 自动推导为Double类型let z: Double = 20 // 显式指定类型print(Double(x) + y)print(x + Int(y))print(y + z)
  • 总结
  • 初次接触 Swift 中会因为简单的 var let 误以为 Swift 中的类型非常松散
  • 其实所有变量的准确类型都是在赋值的同时自动推导的
  • Swift 是对类型要求非常严格的一门语言,一个值永远不会被自动转换成其他类型
  • 如果要转换,必须显示转换
  • Swift 中,小数默认是 Double 类型, 整数默认是 Int 类型
  • 如果要显式的指定变量的类型,可以在定义是使用 var 变量名: 类型 = 值