在Swift中反斜杠起什么作用?

时间:2018-10-15 14:51:04

标签: swift string string-interpolation

在下面的代码行中,反斜杠告诉Swift做什么?

print("The total cost of my meal is \(dictionary["pizza"]! + dictionary["ice cream"]!)")

2 个答案:

答案 0 :(得分:3)

反斜杠在Swift中有一些不同的含义,具体取决于上下文。在您的情况下,这意味着字符串插值:

print("The total cost of my meal is \(dictionary["pizza"]! + dictionary["ice cream"]!)")

...与...相同:

print("The total cost of my meal is " + String(dictionary["pizza"]! + dictionary["ice cream"]!))

但是第一种形式更具可读性。另一个例子:

print("Hello \(person.firstName). You are \(person.age) years old")

可能会打印类似Hello John. You are 42 years old的内容。比以下内容清晰得多:

print("Hello " + person.firstName + ". You are " + String(person.age) + " years old")

答案 1 :(得分:1)

这称为字符串插值。当您要将变量的嵌入到字符串中时,必须将变量名称放在括号之间,并用反斜杠转义开头的括号。这样,编译器知道必须替换那里的变量值,而不是使用变量名的String文字。

有关该主题的更多信息,请查看Swift语言指南的String interpolation部分。