Swift4.0 學習筆記 第二節:可選項

//
//  ViewController.swift
//  005-可選項
//
//  Created by 莊壯勇 on 2018/1/2.
//  Copyright © 2018年 Personal. All rights reserved.
//

import UIKit

class ViewController: UIViewController {

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

    func demo1() {
        // 1> 定義 y,沒有初始化
        let y: Int?
       
        // 2>給常量設置數值,初始化的工作能做一次
        y = 20
        // 再次修改常量會報錯
        //y = 30
        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? = 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!)
    }

}

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章