004--swift基础语法(Optional 可选项)

    /**
     定义可选项使用?
     解包使用!  准备计算
     */


    ---- 1. 原始可选项定义
    ---- none 没有值,或者 some 某一类值
    let x:Optional = 10

    ---- 2. 简单的定义
    ---- `?` 用来定义y是一个可选Int 类型,可能没有值,也有可能是一个整数
    let y : Int? = 20

    ----输出结果Optional(10),提示这是一个可选项
    print(x)
    print(y)
    ---- 1> 不同类型之间的值不能直接运算!如果没有值是nil 不是任何数据类型,不能参与计算
    ----print(x + y) //这个会报错
    ---- 2>`!`强行解包 - 从可选值中强行获取对应的非空值,如果真的是nil ,就会崩溃
    ---- 程序员必须为每一个 ! 负责
    ---- 程序中要少用!
    print(x! + y!)



    let z : Int?
    ---- 下方报错 Constant 'z' used before being initialized
    ---- 常量z使用前必须初始化
 //       print(z)


    let w : Int? = nil
    ----下方报错(最常见的错误) : unexpectedly found nil while unwrapping an Optional value
    ---- 在解包的时候发现了nil值
    //       print(x! + w!)

    // 1> 定义y  没有初始化
    let y : Int?
    // 2> 给初始化,初始化工作只能做一次
    y = 20

    print(y)

    //  var的可选值默认是nil
    //  let的可选值没有默认值
    var x:Int?
    x = 10
    x = 100
    print(x)

//
//  ViewController.swift
//  005--可选项
//

import UIKit

class ViewController: UIViewController {

    override func viewDidLoad() {
        super.viewDidLoad()
        demo1()
    }

    func demo1() {
        // 1> 定义y  没有初始化
        let y : Int?
        // 2> 给初始化,初始化工作只能做一次
        y = 20

        print(y)

        //  var的可选值默认是nil
        //  let的可选值没有默认值
        var x:Int?
        x = 10
        x = 100
        print(x)
    }

    /// 最常见的错误 : unexpectedly found nil while unwrapping an Optional value
    /// 在解包的时候发现了nil值

    func demo(){

        /**
         定义可选项使用?
         解包使用!  准备计算
         */


        /// 1. 原始可选项定义
        /// none 没有值,或者 some 某一类值
        let x:Optional = 10

        /// 2. 简单的定义
        /// `?` 用来定义y是一个可选Int 类型,可能没有值,也有可能是一个整数
        let y : Int? = 20

        ///输出结果Optional(10),提示这是一个可选项
        print(x)
        print(y)
        /// 1> 不同类型之间的值不能直接运算!如果没有值是nil 不是任何数据类型,不能参与计算
        ///print(x + y) //这个会报错
        /// 2>`!`强行解包 - 从可选值中强行获取对应的非空值,如果真的是nil ,就会崩溃
        /// 程序员必须为每一个 ! 负责
        /// 程序中要少用!
        print(x! + y!)



        let z : Int?
        /// 下方报错 Constant 'z' used before being initialized
        /// 常量z使用前必须初始化
 //       print(z)


        let w : Int? = nil
        ///下方报错(最常见的错误) : unexpectedly found nil while unwrapping an Optional value
        /// 在解包的时候发现了nil值
        //       print(x! + w!)




    }

}

这里写图片描述

这里写图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值