前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >swift 基本运算符

swift 基本运算符

作者头像
xy_ss
发布2023-11-22 09:07:59
950
发布2023-11-22 09:07:59
举报
文章被收录于专栏:浮躁的喧嚣浮躁的喧嚣

术语

  • 一元运算符对单一操作对象操作,如 -a 一元运算符分前置运算符和后置运算符
    • 前置运算符需紧跟在操作对象之前,如 !b
    • 后置运算符需紧跟在操作对象之后,如 c!
  • 二元运算符操作两个操作对象,是中置的,因为它们出现在两个操作对象之间,如 2 + 3
  • 三元运算符操作三个操作对象,和 C 语言一样,Swift 只有一个三元运算符,就是三目运算符,a ? b : c

受运算符影响的值叫操作数,在表达式 1 + 2 中,加号 + 是二元运算符,它的两个操作数是值 12


赋值运算符

代码语言:javascript
复制
let a = 10
let (x, y) = (1, 2)

算术运算符

代码语言:javascript
复制
1 + 2    
3 - 1   
2 * 3
10 / 2
10 % 2
//字符串相加
"hello, " + "world"    // 等于 "hello, world"

组合赋值运算符

代码语言:javascript
复制
var a = 1
a += 2   //a = a + 2 

比较运算符

  • 常见比较
代码语言:javascript
复制
1 == 1   // true
2 != 1   // true
2 > 1    // true
1 < 2    // true
1 >= 1   // true
2 <= 1   // false
  • 比较运算多用于条件语句
代码语言:javascript
复制
let name = "world"
if name == "world" {
    print("hello, world")
} else {
    print("I'm sorry \(name), but I don't recognize you")
}
// 输出 "hello, world", 因为 `name` 就是等于 "world"
  • 元组比较(元组内有bool值不可以比较) 如果两个元组的元素相同,且长度相同的话,元组就可以被比较。比较元组大小会按照从左到右、逐值比较的方式,直到发现有两个值不等时停止。如果所有的值都相等,那么这一对元组我们就称它们是相等的
代码语言:javascript
复制
(1, "zebra") < (2, "apple")   // true,因为 1 小于 2
(3, "apple") < (3, "bird")    // true,因为 3 等于 3,但是 apple 小于 bird
(4, "dog") == (4, "dog")      // true,因为 4 等于 4,dog 等于 dog

注意: Swift 标准库只能比较七个以内元素的元组比较函数。如果你的元组元素超过七个时,你需要自己实现比较运算符


三目运算符

代码语言:javascript
复制
let m = 30
let n = 20
let result = m > n ? m : n  //30

空合运算符

代码语言:javascript
复制
let a = 10
var b : Int?  //默认值为 nil
let c = b ?? a //10

区间运算符

  • 闭区间运算符
代码语言:javascript
复制
for index in 1...5 {
    print(index)
}  //1  2 3 4  5
  • 半开区间运算符
代码语言:javascript
复制
for index in 1..<5 {
    print(index)
}  //1 2 3 4
  • 单侧区间
代码语言:javascript
复制
for index in array[2...] {
     print(index)
}  //3 4 5

for index in array[...3] {
     print(index)
} //1 2 3 4

for index in array[..<3] {
     print(index)
}//1 2 3

逻辑运算符

代码语言:javascript
复制
let flag = false
if !flag {
   print("pass")
} //pass

let flag = false
let flag1 = true
if flag || flag1 {
   print("pass")
}  //pass

if flag && flag1 {
   print("pass")
}
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2018-11-13,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 术语
  • 赋值运算符
  • 算术运算符
  • 组合赋值运算符
  • 比较运算符
  • 三目运算符
  • 空合运算符
  • 区间运算符
  • 逻辑运算符
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档