Swift三元条件运算
三元条件运算的特殊在于它是有三个操作数的运算符,它的原型是问题?答案1:答案2。它简洁地表达根据问题成立与否作出二选一的操作。如果问题成立,返回答案1的结果; 如果不成立,返回答案2的结果。 使用三元条件运算简化了以下代码: if question: { answer1 } else { answer2 } 这里有个计算表格行高的例子。如果有表头,那行高应比内容高度要高出50像素; 如果没有表头,只需高出20像素。 let contentHeight = let hasHeader = true let rowHeight = contentHeight + (hasHeader ? : ) // rowHeight 现在是 90 这样写会比下面的代码简洁: let contentHeight = let hasHeader = true var rowHeight = contentHeight if hasHeader { rowHeight = rowHeight + } else { rowHeight = rowHeight + } // rowHeight 现在是 90 第一段代码例子使用了三元条件运算,所以一行代码就能让我们得到正确答案。这比第二段代码简洁得多,无需将rowHeight定义成变量,因为它的值无需在if语句中改变。 三元条件运算提供有效率且便捷的方式来表达二选一的选择。需要注意的事,过度使用三元条件运算就会由简洁的代码变成难懂的代码。我们应避免在一个组合语句使用多个三元条件运算符。
Swift三元条件运算的更多相关文章
- [C语言]进阶|数据类型: 整数, 浮点, 逻辑, 类型转换和条件运算
--------------------------------------------------------------------------------- [C语言的类型] 1. 整型(都分为 ...
- Sass函数-Miscellaneous函数(三元条件函数)
在这里把 Miscellaneous 函数称为三元条件函数,主要因为他和 JavaScript 中的三元判断非常的相似.他有两个值,当条件成立返回一种值,当条件不成立时返回另一种值: if($cond ...
- var、符号运算、条件语句、三元(目)运算、自加和自减
1.var a=“hello world” a 这个变量是字符串了,对于里面的每一个字母来说,他是字节,里面有11个字节,(包括空格),字节总数用length表示 2.符号运算 + 字符串拼接 . ...
- Swift 求余运算
求余运算 求余运算(a % b)是计算b的多少倍刚刚好可以容入a,返回多出来的那部分(余数). 注意:求余运算(%)在其他语言也叫取模运算.然而严格说来,我们看该运算符对负数的操作结果,"求 ...
- Swift - 使用位运算提取颜色,合并颜色
通常我们可以使用16进制的格式表示RGB颜色,比如0x2f88c0.通过位操作运算,能很方便的将其中的R,G,B颜色各部分分别提取出来.反之,也可以将R,G,B颜色值组合成一个完整的颜色. 1,提取颜 ...
- [Swift]LeetCode241. 为运算表达式设计优先级 | Different Ways to Add Parentheses
Given a string of numbers and operators, return all possible results from computing all the differen ...
- Python 三元条件判断表达式(and or/if else)
参考: http://wangye.org/blog/archives/690/
- tcl之控制流-条件运算、条件测试、逻辑表达
- python_三元运算
条件三元运算 # 三元条件运算,如果条件为真则返回x,如果条件为假则返回y x = 3 y = 5 ret = x if x > y else y print(ret) # 返回 y值 for循 ...
随机推荐
- RUN vs CMD vs ENTRYPOINT - 每天5分钟玩转 Docker 容器技术(17)
RUN.CMD 和 ENTRYPOINT 这三个 Dockerfile 指令看上去很类似,很容易混淆.本节将通过实践详细讨论它们的区别. 简单的说: RUN 执行命令并创建新的镜像层,RUN 经常用于 ...
- JAVA栈帧
简介 Java栈是一块线程私有的内存空间.java堆和程序数据相关,java栈就是和线程执行密切相关的,线程的执行的基本行为是函数调用,每次函数调用的数据都是通过java栈来传递的. Java栈与数据 ...
- 【JavaScript制作页面时常用的五个特效,你用到了哪个?】
常用的五个特效的相关知识点见附录(五道例题后有附录哦~): 例一: 1.在某页面中有一个图片和五个超链接,如下图所示: 单击不同的数字超链接显示不同的图片: 图1 图片幻灯片显示效果 提示: (1)默 ...
- java虚拟机内存分配
- bash shell中测试命令
bash shell中测试命令 test命令提供了if-than语句中测试不同条件的途径.如果test命令中列出的条件成立,test命令就会退出并返回退出状态吗0 .这样if-than语句就与其他编程 ...
- ArrayList源码解析(二)自动扩容机制与add操作
本篇主要分析ArrayList的自动扩容机制,add和remove的相关方法. 作为一个list,add和remove操作自然是必须的. 前面说过,ArrayList底层是使用Object数组实现的. ...
- android调用系统相机
Intent intent = new Intent(); intent.setPackage("com.android.camera"); intent.setAction(Me ...
- Telnet的开启及使用
1首先在控制面板找到程序和功能,双击点开. 2,点击打开或关闭WINDOWS功能 3勾选上这两项 点击确定即可. ------------------------------------------- ...
- Http学习之使用HttpURLConnection发送post和get请求(1)
最常用的Http请求无非是get和post,get请求可以获取静态页面,也可以把参数放在URL字串后面,传递给servlet,post与get的不同之处在于post的参数不是放在URL字串里面,而是放 ...
- [转]ef使用dbfirst方式连接mysql
为了学习ORM,选择了EntityFramework,经历了三天两夜的煎熬,N多次错误,在群里高手的帮助下,终于成功,现在将我的心路历程记录下来,一是让自己有个记录,另外就是让其它人少走些弯路. 我的 ...