运算符是你在第一堂数学课上学到的那些小符号:
、-
、*
、/
,=
等等。它们都存在于Swift,还有一些额外的东西。
让我们尝试一些基本知识——请在您的Playground中键入以下内容:
代码语言:javascript复制var a = 10
a = a 1
a = a - 1
a = a * a
在结果窗格中,您将分别看到10、11、10和100。现在试试这个:
代码语言:javascript复制var b = 10
b = 10
b -= 10
=
是一个运算符,它的意思是“加,然后赋给”。在我们的例子中,它的意思是“取b的当前值,加10,然后将结果放回b。”正如您可能想象的那样,-=
做了相同的操作,但是减去而不是加。因此,该代码将在结果窗格中显示10、20、10。
其中一些运算符适用于其他数据类型。如您所想,您可以将两个双精度浮点数相加,如下所示:
代码语言:javascript复制var a = 1.1
var b = 2.2
var c = a b
说到String,
会把它们连在一起。例如:
var name1 = "Tim McGraw"
var name2 = "Romeo"
var both = name1 " and " name2
这将把“Tim McGraw and Romeo”写入结果窗格。
您将看到一个更常见的运算符,称为模,并使用百分比符号编写:%
。它的意思是“用右边的数字整除左边边,然后返回余数。”因此,9%3返回0,因为3整除9,而10%3返回1,因为3整除10,余数为1。
比较运算符
Swift有一组对值执行比较的运算符。例如:
代码语言:javascript复制var a = 1.1
var b = 2.2
var c = a b
c > 3
c >= 3
c > 4
c < 4
显示大于(>
)、大于或等于(>=
)和小于(<
)的。在“结果”窗口中,您将看到true、true、false、true,这些都是布尔值,因为这些语句的答案只能是true或false。
如果要检查相等性,则不能使用=
因为它已经有一个含义:它用于给变量赋值。因此,Swift有一个形式为==
,意思是“等于”。例如:
var name = "Tim McGraw"
name == "Tim McGraw"
将在结果窗格中显示“true”。现在,有一件事可能会让您明白,在Swift字符串中是区分大小写的,这意味着“Tim McGraw”、“Tim McGraw”和“Tim McGraw”都被认为是不同的。如果使用==
比较两个字符串,则需要确保它们具有相同的字母大小写。
还有一个运算符我想给你介绍,它叫“非”运算符!
。是的,只是个感叹号。这使得你的陈述与它所做的相反。例如:
var stayOutTooLate = true
stayOutTooLate
!stayOutTooLate
这将打印出true,true,false ——最后一个值在那里,因为它翻转了前一个true。
你也可以用!
和=
组成!=
表示“不相等”。例如:
var name = "Tim McGraw"
name == "Tim McGraw"
name != "Tim McGraw"
本文来自Hacking with Swift给swift初学者的入门课程Swift for Complete Beginners 的 Operators