在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
// // ViewController.swift // 可选项的判断 // // Created by 思 彭 on 16/9/16. // Copyright © 2016年 思 彭. All rights reserved. // import UIKit class ViewController: UIViewController { override func viewDidLoad() { super.viewDidLoad() // demo1(x: 20, y: nil) demo3() } // MARK: - 一般写法 func demo(x: Int?,y: Int?) { // 1. 强行解包有风险 print(x! + y!) // 2.使用if判断 直接使用if,使代码看起来很丑陋 if x != nil && y != nil { print(x! + y!) } else{ print("x或者y为nil") } } //MARK: - ??的使用 func demo1(x: Int?,y: Int?) { // 记得括号括起来 print((x ?? 0) + (y ?? 0)) //20 let name: String? = nil print((name ?? "") + ("你好")) //你好 // 注意: ??优先级低 print(name ?? "" + "思思") // 思思 } // MARK: - if let/var的使用 func demo2() { let userName: String? = "思思" let age: Int? = 20 // 判断变量的值是否为nil,有值进入分支,不需要解包 if var name = userName,age = age{ name = "加油" age = 30 print(name + String(age)) } else{ print("name或者是age为nil") } } // MARK: - guard let的使用 // 守护有值,和if let相反 ,逻辑代码少降低分支的层次 func demo3() { let userName: String? = "思思" let age: Int? = 20 guard let name = userName,oage = age else { print("name或者是age为nil") return; } print(name + String(age)) } }
|
请发表评论