Что делает обратный слеш в Swift? - PullRequest
0 голосов
/ 15 октября 2018

В следующей строке кода, что говорит обратный слеш Swift?

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

Ответы [ 2 ]

0 голосов
/ 15 октября 2018

Обратная косая черта имеет несколько различных значений в 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")
0 голосов
/ 15 октября 2018

Это называется строковой интерполяцией.Если вы хотите встроить значение переменной в строку, вы должны поместить имя переменной в скобки и экранировать открывающие скобки с обратной косой чертой.Таким образом, компилятор знает, что он должен подставить туда значение переменной вместо использования строкового литерала имени переменной.

Для получения дополнительной информации по этой теме, посмотрите на String интерполяцию часть Руководства по языку Swift.

...