问号操作符号

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

    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 ?? "" + "思思") // 思思
    }

}
时间: 2024-10-21 21:10:02

问号操作符号的相关文章

sql的基础语句-select语句中出现的操作符号

2. select语句中出现的操作符号 2.1 合并操作符select a.ename||' '||to_char(sal) from emp a; 2.2 消除重复的行 select distinct deptno from emp; 2.3 空格.空串.null的区别 select ascii(' '),ascii(null),ascii('') from dual; 区别:  从显式上看,空串跟null在数据库中存储的值是一样的,但是NULL可以赋给任何数据类型,而空串只能赋给字符串类型

Python 集合set添加删除、交集、并集、集合操作符号

在Python中集合set是基本数据类型的一种,它有可变集合(set)和不可变集合(frozenset)两种.创建集合set.集合set添加.集合删除.交集.并集.差集的操作都是非常实用的方法. 1.创建集合 set类是在python的sets模块中,大家现在使用的python2.3中,不需要导入sets模块可以直接创建集合.>>>set('boy')set(['y', 'b', 'o']) 2.集合添加.删除 集合的添加有两种常用方法,分别是add和update.集合add方法:是把要

C++-操作符号(or, <%)

这里使用or来替代||,使用<% 和 %>替代{} /* 操作字符 */ #include <iostream> using namespace std; int main() <% int a = 10, b = 0; if (a or b) <% cout << true << endl; %> else <% cout << false << endl; %> %> 原文地址:https://

【218】?? IDL 操作符号说明

01   FOR 循环语句. 02   FOREACH 循环语句. 03   WHILE...DO 循环语句. 04   IF...THEN...ELSE 选择语句. 05   CASE 只执行符合条件的一个语句块.  06   SWITCH 执行符合条件后面的所有语句块. 07   REPEAT...UNTIL 循环语句.  08   BEGIN...END 用于显示多条语句. 09   CONTINUE 执行循环语句中的下一条循环. 10   BREAK 从循环.CASE 或 SWITCH

C语言的操作符号

#include <iostream> int main(void) { int a = 100, b = 40; //理解++在前还后的区别: a = b++; //a = b ; b= b+1; //a = ++b; //b = b+1; a = b; std::cout << a << std::endl; std::cout << b << std::endl; return 0; }

shell 脚本中测试操作符号及 &amp;&amp; 与 ||

测试操作符 常用测试操作符 英文名 说明 -f 文件 file 文件存在且为普通文件为真,即测试表达式成立 -d 文件 directory 文件存在且为目录文件为真,即测试表达式成立 -s 文件 size 文件存在且文件大小不为 0 为真,即测试表达式成立 -e 文件 exist 文件存在为真,即测试表达式成立 -r 文件 read 文件存在且可读为真,即测试表达式成立 -w 文件 write 文件存在且可写为真,即测试表达式成立 -x 文件 executable 文件存在且可执行为真,即测试表

js cookies存取删操作实例

//写cookies函数 function SetCookie(name,value)//两个参数,一个是cookie的名子,一个是值 { var Days = 30; //此 cookie 将被保存 30 天 var exp = new Date(); //new Date("December 31, 9998"); exp.setTime(exp.getTime() + Days*24*60*60*1000); document.cookie = name + "=&qu

使用javascript操作cookies的实例

<script> //写cookies函数 作者:翟振凯 function SetCookie(name,value)//两个参数,一个是cookie的名子,一个是值 { var Days = 30; //此 cookie 将被保存 30 天 var exp = new Date(); //new Date("December 31, 9998"); exp.setTime(exp.getTime() + Days*24*60*60*1000); document.cook

Shell脚本中替换字符串等操作

在做shell批处理程序时候,常常会涉及到字符串相关操作. 有非常多命令语句.如:awk,sed都能够做字符串各种操作. 事实上shell内置一系列操作符号.能够达到类似效果,大家知道,使用内部操作符会省略启动外部程序等时间,因此速度会非常的快. 一.推断读取字符串值 表达式 含义 ${var} 变量var的值, 与$var同样     ${var-DEFAULT} 假设var没有被声明, 那么就以$DEFAULT作为其值 * ${var:-DEFAULT} 假设var没有被声明, 或者其值为空