Swift4.0 --- 可选项

//

//  ViewControllerTwo.swift

//  Swift-(1)

//

//  Created by xhc on 2018/6/20.

//  Copyright © 2018年 xhc. All rights reserved.

//

import UIKit

classViewControllerTwo:UIViewController{


    overridefuncviewDidLoad() {

        super.viewDidLoad()

        demo1()

    }


    funcdemo1() {

        // 1> 定义 y,没有初始化

        lety:Int?


        // 2>给常量设置数值,初始化的工作能做一次

        y =20

        // 再次修改常量会报错

        //y = 30

        print(y)


        // *** var 的可选值默认为nil

        // *** let 的可选值没有默认值

        varx:Int?

        x =10

        x =100

        print(x)


    }


    // 最常见的错误

    // unexpectedly found nil while unwrapping an Optional value

    // 再解包的时候发现了nil 值

    /**

     定义 可选项使用 ?

     解包使用 !,准备计算

     */

    funcdemo() {

        // 1.原始的可选项定义

        // none 没有值,或者some 某一类值

        letx:Optional=10


        // 2.简单的定义

        // ‘?’用来定义y 是一个可选值Int 类型,可能没有值,也可能有一个整数

        lety:Int? =40//= nil // = 20


        // 输出结果 Optional(10),提示这是一个可选值

        print(x)

        // Constant 'y' used before being initialized

        // 常量y使用之前必须初始化

        print(y)


        // 1>不同类型之间的值不能直接运算!如果没有值是nil 不是任何数据类型,不能参与计算

        // print(x + y)

        // 2>‘!’强行解包 - 从可选值中强行获取对应的非空值

        //  程序员必须为每一个 !负责

        //  程序中要少用 '!'

        print(x! + y!)

    }


}

你可能感兴趣的:(Swift4.0 --- 可选项)