Swift入门: 运算符

2020-03-19 20:42:10 浏览数 (1)

运算符是你在第一堂数学课上学到的那些小符号: -*/,=等等。它们都存在于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, 会把它们连在一起。例如:

代码语言:javascript复制
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有一个形式为==,意思是“等于”。例如:

代码语言:javascript复制
var name = "Tim McGraw"
name == "Tim McGraw"

将在结果窗格中显示“true”。现在,有一件事可能会让您明白,在Swift字符串中是区分大小写的,这意味着“Tim McGraw”、“Tim McGraw”和“Tim McGraw”都被认为是不同的。如果使用==比较两个字符串,则需要确保它们具有相同的字母大小写。

还有一个运算符我想给你介绍,它叫“非”运算符。是的,只是个感叹号。这使得你的陈述与它所做的相反。例如:

代码语言:javascript复制
var stayOutTooLate = true
stayOutTooLate
!stayOutTooLate

这将打印出true,true,false ——最后一个值在那里,因为它翻转了前一个true。

你也可以用!=组成!=表示“不相等”。例如:

代码语言:javascript复制
var name = "Tim McGraw"
name == "Tim McGraw"
name != "Tim McGraw"

本文来自Hacking with Swift给swift初学者的入门课程Swift for Complete Beginners 的 Operators

0 人点赞