美文网首页Swift 集
Swift 比较运算和三目条件运算

Swift 比较运算和三目条件运算

作者: Swift社区 | 来源:发表于2021-01-13 10:31 被阅读0次

一:比较运算

所有标准 C 中的比较运算都可以在 Swift 中使用。

等于 a == b
不等于 a!=b
大于 a > b
小于 a < b
大于等于 a >= b
小于等于 a <= b

注意: Swift 也提供恒等 === 和不恒等 !== 这两个比较符来判断两个对象是否引用同一个 对象实例。更多细节在 类与结构。

每个比较运算都返回了一个标识表达式是否成立的布尔值:

1 == 1 // true, 因为 1 等于 1
2 != 1 // true, 因为 2 不等于 1
2 > 1 // true, 因为 2 大于 1
1 < 2 // true, 因为 1 小于2
1 >= 1 // true, 因为 1 大于等于 1
2 <= 1 // false, 因为 2 并不小于等于 1

比较运算多用于条件语句, 如 if 条件:

let name = "world"
if name == "world" {
    print("Hello, world")
} else {
    print("对不起, \(name), 我不认识你!")
}
// 输出 "hello, world", 因为 `name` 就是等于 "world"

二:三目条件运算

三目条件运算的特殊在于它是有三个操作数的运算符, 它的原型是 问题 ? 答案1: 答案2。它简洁地表达根据 问题 成立与否作出二选一的操作. 如果 问题 成立, 返回 答案 1 的结 果; 如果不成立, 返回 答案 2 的结果。

使用三目条件运算简化了以下代码:

if question: {
    answer1
} else {
    answer2
}

这里有个计算表格行高的例子。如果有表头, 那行高应比内容高度要高出 50 像素; 如果没 有表头, 只需高出 20 像素。

let contentHeight = 40
let hasHeader = true
let rowHeight = contentHeight + (hasHeader ? 50 : 20)
// rowHeight 现在是 90

这样写会比下面的代码简洁:

let contentHeight1 = 40
let hasHeader1 = true
var rowHeight1 = contentHeight
if hasHeader {
    rowHeight1 = rowHeight1 + 50
} else {
    rowHeight1 = rowHeight1 + 20
}
// rowHeight1 现在是 90

第一段代码例子使用了三目条件 运算, 所以一行代码就能让我们得到正确答案。这比第二段代码简洁得多, 无需将 rowHeight 定义成变量, 因为它的值无需在 if 语句中改变。

三目条件运算提供有效率且便捷的方式来表达二选一的选择。需要注意的事, 过度使用三目条件运算就会由简洁的代码变成难懂的 代码. 我们应避免在一个组合语句使用多个三目条件运算符。

欢迎关注公众号 [Swift 社区]:

相关文章

  • Swift 比较运算和三目条件运算

    一:比较运算 所有标准 C 中的比较运算都可以在 Swift 中使用。 等于 a == b不等于 a!=b大于 a...

  • swift教程(2)

    swift的运算 加减乘除 三目运算符 与或关系 运算比较

  • C语言学习 - 条件运算符

    条件运算符的语法形式 条件运算符为?和:,又称三目运算符,?和:是一对运算符,不能分开单独使用。 条件运算符的执行...

  • 8.JavaScript-三目运算符

    1.什么是三目运算符? 三目运算符又称之为条件运算符 2.三目运算符格式 当条件为真(true)时,返回结果A当条...

  • 三元运算

    三元运算又称三目运算 简单条件语句: if 条件成立: val = 1 else: val = 2 三元运算: v...

  • Java运算符(三目运算符)

    三目运算(重点) 三目运算是一种赋值运算,它指的是根据条件来进行判断。对于三目运算的基本使用语法如下。 数据类型 ...

  • 5.11日js学后感

    一、运算符和表达式 三目运算符(三元运算符) 语法是 条件 ? 结果1 : 结果2;. 这里你把条件写在问号(?)...

  • python第三章函数

    第三章、三元运算、文件处理、函数 三元运算 三元运算又称三目运算,是对简单的条件语句的简写,如: 简单条件语句: ...

  • js总结(3.运算符和表达式)

    运算符和表达式 ** 1.算数运算符** ** 2.关系运算符** 3.逻辑运算符 4.条件运算符(三目运算符)

  • 菜鸡学Swift2.0 - 4.运算符 (赋值运算符 基础运算符

    1. 赋值运算符 "=" Swift赋值语句不可作为条件判断语句 2.基础运算符 "+ - * / %" 3.单目...

网友评论

    本文标题:Swift 比较运算和三目条件运算

    本文链接:https://www.haomeiwen.com/subject/qoyinctx.html