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!)
}
}