Может ли оператор Swift быть разбит на несколько строк? - PullRequest
0 голосов
/ 28 марта 2020

В руководстве по языку написано:

Swift не требует от вас писать точку с запятой (;) после каждого оператора в вашем коде, хотя вы можете сделать это, если вы ш sh. Однако точки с запятой требуются, если вы хотите написать несколько отдельных операторов в одной строке.

Это означает, что Swift использует переводы строк в качестве разделителей операторов. Каждое утверждение должно соответствовать одной строке? Или можно вставить новую строку в пределах одного оператора - и если да, то какие правила определяют, завершает ли оператор новый оператор или нет?

1 Ответ

2 голосов
/ 28 марта 2020

Swift может иметь новые строки в операторах. Это так часто встречается в сложных командах, таких как:

 var query = HouseholdInfoTable.table
        .select(HouseholdInfoTable.uuid.distinct, HouseholdInfoTable.table[*])
        .join(PersonInfoTable.table, on: PersonInfoTable.householdUuid == HouseholdInfoTable.uuid)
        .filter(HouseholdInfoTable.houseNumber == houseNumber)
        .order(HouseholdInfoTable.sortName)

Но вы можете разбить простые операторы, например:

let a = 1
 + 2
let b = 1 +
2

Как правило, вы можете разбить строку на операнды или знаки пунктуации

Вы можете создавать многострочные комментарии с переводами строк, например:

let bigComment = """
anythingYou want can go here
asdlkasdkljfad
askjf
"""

Гид стиля Swift содержит более подробную информацию: https://google.github.io/swift/#line -wrapping

Детские площадки - хорошее место, чтобы увидеть, что обрабатывает компилятор.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...