首页 > 代码库 > Swift的if let和guard let的使用 <一看就等哟>
Swift的if let和guard let的使用 <一看就等哟>
//// ViewController.swift// 可选项的判断//// Created by 思 彭 on 16/9/16.// Copyright © 2016年 思 彭. All rights reserved.//import UIKitclass 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)) }}
Swift的if let和guard let的使用 <一看就等哟>
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。