В Go, как написать многострочный оператор?
В python мы используем обратную косую черту, чтобы указать, что текущий оператор продолжает следующую строку
например,
a = b + c + s \
+ x + y
или просто,
a = b + c + s +
x + y
Возможно ли это сделать на языке Go? Благодаря
Ответы
Ответ 1
Конечно, просто поставьте оператор в конец, например:
a = b + c + s +
x + y
Также обратите внимание, что невозможно разбить строку перед оператором. Следующий код недействителен:
a = b + c + s
+ x + y
Это правило описано здесь и в .
Ответ 2
Интересно, что сама спецификация языка Go требует точки с запятой в конце каждого оператора, но лексер будет вставлять неявные точки с запятой в конец строк, которые выглядят как инструкции непосредственно перед компиляцией.
Поэтому, чтобы предотвратить нежелательную точку с запятой в конце незавершенной строки, все, что вам нужно сделать, это убедиться, что строка не заканчивается чем-то, что может сделать ее похожей на полный оператор.
Другими словами, избегайте завершения неполной строки в переменной, константе, функции, ключевом слове или постфиксном операторе (например, ++
).
Что это оставляет? Ну, кое-что приходит на ум - оператор инфикса (например, =
или +
), запятая или открывающий палец или скобка или скобка, например.