常量和变量

来源:互联网 发布:windows epub 阅读器 编辑:程序博客网 时间:2024/06/02 03:26
import UIKitclass ViewController: UIViewController {    override func viewDidLoad() {        super.viewDidLoad()        demo4()    }    /**        提示:可选项是所有 OC 的程序员刚接触 Swift 时候,最头疼的问题!        - 1. 明确可选项的概念!        - 2. 实际开发中,借助 Xcode 智能提示,帮助修改!        - 3. 每次修改,都要思考为什么!    */    func demo4() {        let urlString = "http://www.baidu.com/中文"        // 注意:构造函数如果有 `?` 表示不一定能够创建出对象        let url = NSURL(string: urlString)        print(url)        // 注意:如果参数中,没有 ? 表示必须要有值,如果为 nil,就崩!        if url != nil {            let request = NSURLRequest(URL: url!)            print(request)        }    }    // 可选项:一个变量,可以为本身的类型,也可以为 nil    func demo3() {        // 定义变量/常量如果需要指定类型 : 类型 的方式指定准确的类型        let x: Double = 20        print(x + 1.5)        // 可选项 使用 ? 定义        // y 可以是一个整数/也可以是 nil,如果是变量,默认是 nil        // 注意:可选项在输出的时候,会提示 `Optional`        var y: Int? //= 10        print(y)        // * 可选项不能直接计算        // ! - `强行解包 unwrapping` - 程序员承诺 y 一定有值,如果没有,崩给我看!        // unexpectedly found nil while unwrapping an Optional value        // 每次写 ! 的时候,都需要程序员思考,是不是有可能为 nil!        print(y! + 20)    }    func demo2() {        // 自动推导 - 会根据设置数值的右侧代码,推断变量/常量的类型        // 但是:在 Swift 中,任何时候,都不会做隐式转换        // 任何两个类型不同的变量或者常量不允许直接计算!- Swift 是一个类型要求异常严格的语言!        // 整数默认是 Int -> 64位整数 long        let x = 20        // 小数默认是 Double -> 双精度的小数,OC 中使用 CGFloat 比较多,浮点数        let y = 1.5        let r1 = x + Int(y)        print(r1)        let r2 = Double(x) + y        print(r2)    }    // 基本使用    func demo() {        // let 定义常量 - 一旦设置数值,不允许修改        // var 定义变量 - 可以修改        // 问题:let & var 如何选择,尽量用 let,必须要修改的时候,再用 var,程序更安全        let x = 20//        x = 30        var y = 30        y = 80        print(x + y)        // 视图实例化之后,并没有修改指针地址        let v = UIView(frame: CGRect(x: 10, y: 10, width: 100, height: 100))        // 只是在修改属性        v.backgroundColor = UIColor.redColor()    }}
0 0